zoukankan      html  css  js  c++  java
  • 历届试题 回文数字

    历届试题 回文数字  
    时间限制:1.0s   内存限制:256.0MB
        
    问题描述
      观察数字: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

     在原来的题目基础上加强了数据。。。。

    int a[maxn];
    int main() 
    {
        //freopen("in.txt","r",stdin);
        int n;
        while(cin>>n){
            //5位;
            int cnt = 0;
            repf(i,0,9) //枚举中间数
            {
                int l = n - i;
                if(l<0) continue;
                if(l%2) continue;
                l/=2;
                rep(j,1,10){
                    if(l - j > 9 || l - j < 0) continue;
                    a[cnt++] = j*10000+(l-j)*1000+100*i+10*(l-j)+j;
                }
            }
            //6位
            repf(i,1,9) repf(j,0,9) repf(k,0,9){
                if(2*(i + j + k) == n){
                    a[cnt++] = 100000*i + 10000*j + 1000*k + 100*k + 10*j + i;
                }
            }
            if(cnt == 0) {cout<<-1<<endl;continue;}
            sort(a,a+cnt);
            rep(i,0,cnt) cout<<a[i]<<endl;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    java 21
    maven POM.xml 标签详解
    shell sed 替代1
    lua的table库中的常用函数总结
    Lua字符串及模式匹配
    lua文件读写
    qt添加lua支持
    关于c调用lua 对‘luaL_newstate()’未定义的引用的问题解决办法
    Lua开发环境
    linux安装lua相关编译报错
  • 原文地址:https://www.cnblogs.com/DreamHighWithMe/p/3649496.html
Copyright © 2011-2022 走看看