zoukankan      html  css  js  c++  java
  • 回文数字

    历届试题 回文数字 


    问题描述
      观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。

      本题要求你找到一些5位或6位的十进制数字。满足如下要求:
      该数字的各个数位之和等于输入的整数。
    输入格式
      一个正整数 n (10<n<100), 表示要求满足的数位和。
    输出格式
      若干行,每行包含一个满足要求的5位或6位整数。
      数字按从小到大的顺序排列。
      如果没有满足条件的,输出:-1
    样例输入
    44
    样例输出
    99899
    499994
    589985
    598895
    679976
    688886
    697796
    769967
    778877
    787787
    796697
    859958
    868868
    877778
    886688
    895598
    949949
    958859
    967769
    976679
    985589
    994499
    样例输入
    60
    样例输出
    -1

    思路

    没什么好说的,对付这种数据直接暴力枚举就行。

    AC

     1 #include<iostream>
     2 
     3 using namespace std;
     4 
     5 // 计算回文数之和 
     6 int sum(int x)
     7 {
     8     int s = 0;
     9     while(x)
    10     {
    11         s += (x%10);
    12         x /= 10;
    13     }
    14     return s;
    15 }
    16 // 判断是否为回文数 
    17 bool get(int x)
    18 {
    19     int i = 0;
    20     int a[7] = {0};
    21     while(x)
    22     {
    23         a[i] = x%10;
    24         i++;
    25         x /= 10;
    26     }
    27     if(i == 5 && a[0] == a[4] && a[1] == a[3])
    28         return true;
    29     if(i == 6 && a[0] == a[5] && a[1] == a[4] && a[2] == a[3])
    30         return true;
    31     return false;    
    32 }
    33 
    34 //
    35 bool sure(int n)
    36 {
    37     int c = 0;
    38     for(int i=10001;i<=999999;i++){
    39         if(get(i) && sum(i) == n){
    40             cout<<i<<endl;
    41             c++;
    42         }
    43     }
    44     if(c == 0){
    45         cout<<"-1"<<endl;
    46         return false;
    47     }
    48  } 
    49 
    50 int main()
    51 {
    52     int n;
    53     while(cin>>n)
    54     {
    55         sure(n);
    56     }
    57 
    58     return 0;
    59 }
    View Code
  • 相关阅读:
    ASP.NET2.0 Provider模型
    平时可以上一上的SQL Server的网站
    有关SQL server connection KeepAlive 的FAQ(1)
    有关SQL server connection Keep Alive 的FAQ(2)
    使用C#的is和as操作符来转型
    BlogEngine学习系列
    复习asp.net form验证
    C#学习之动态化dynamic
    Altium Designer(Protel)网络连接方式Port和Net Label详解
    Altium Designer生成Gerber文件和钻孔文件的一般步骤
  • 原文地址:https://www.cnblogs.com/mabeyTang/p/10260815.html
Copyright © 2011-2022 走看看