zoukankan      html  css  js  c++  java
  • YCOJ 1041113【最近的回文数】

    描述

      输入一个 整数,找到与它的差的绝对值最小的回文数。当有两个解时,取较小的那一个解。

    输入输出格式

    输入

      输入为一行,包括一个整数 N,整数 N 的长度在 1 到 1000 之间(含 1000)。

    输出

      输出只有一个整数,为与输入数字的差的绝对值最小的回文数。

    输入输出样例

    输入样例 1

    10000

    输出样例 1

    999

    输入样例 2

    1269421

    输出样例 2

    1269621
    

    解题思路

      .......就是找多种规律,剩下的都在代码中,加油理解吧!!!

    题解

     1 #include<bits/stdc++.h>//'惦念'.
     2 using namespace std;
     3 bool jk=true;
     4 int main()
     5 {
     6     string N,M;
     7     cin>>N;
     8     if(N.size()==1){cout<<N;return 0;//一位数直接输出 
     9     }
    10     for(int i=1;i<N.size();i++)
    11     {
    12         if(N[i]!='0') 
    13         {
    14             jk=false;
    15             break;
    16         }
    17     }
    18     if(jk)//只要有0的话一般都是99....最近 
    19     {
    20         for(int i=1;i<N.size();i++)
    21             cout<<9;
    22         return 0;
    23     }
    24     if(N.size()%2==0)//直接倒着来 
    25     {
    26         M=N.substr(0,N.size()/2);
    27         cout<<M;
    28         reverse(M.begin(),M.end());
    29         cout<<M;
    30     }
    31     else
    32     {
    33         M=N.substr(0,N.size()/2+1);//处理一下 
    34         cout<<M;
    35         reverse(M.begin(),M.end());
    36         for(int i=1;i<M.size();i++)
    37             cout<<M[i];
    38     }
    39     return 0;
    40 }
  • 相关阅读:
    【转】Android Lint分类及常见错误
    备忘
    【转】QRCode二维码生成方案及其在带LOGO型二维码中的应用
    如何控制横向和纵向滚动条的显隐?
    网页屏保
    过度方式
    让背景图不滚动
    自定义指定区域的文字大小
    定义本网页关键字
    通过层来实现渐淡淡出
  • 原文地址:https://www.cnblogs.com/hualian/p/11159941.html
Copyright © 2011-2022 走看看