zoukankan      html  css  js  c++  java
  • E. 数字串

    给你一个长度为 n 的数字串,找出其中位数不超过15位的不包含前导0和后导0的数 x ,使得 x+f(x) 是一个回文数,其中 f(x) 表示将 x 反转过来的数。

    输入格式

    多组输入,处理到文件结束,样例保证不超过1000组。
    每组第一行一个整数 n ,表示数字串的长度(1n1000)
    接下来一行输入一个长度为 n 的数字串。

    输出格式

    第一行一个数 m 表示数字串中符合条件的数的个数(数可以重复)。
    第二行从小到大输出 m 个数,每个数字之间以空格隔开。

    样例

    input
    3
    123
    
    output
    6
    1 2 3 12 23 123
    

    提示

    1+1=2,
    2+2=4,
    3+3=6,
    12+21=33,
    23+32=55,
    123+321=444

    直接暴力查找

    #include<iostream>
    #include<cstdio> 
    #include<vector>
    #include<cstring>
    #include<string>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    char s[1000+10];
    vector<ll > ve;
    ll fan(ll x){//反转数字 
        ll res=0;
        while(x){
            ll y=x%10;
            x=x/10;
            res=res*10+y;
        }
        return res;
    }
    int main(){
        ll t;
        while(scanf("%lld",&t)!=EOF){ 
            scanf("%s",s); 
            ll sum=0;
            for(int i=0;i<t;i++){//直接暴力每个字符 
                if(s[i]=='0') continue ;
                ll x=0;
                for(int j=0; j<15 && i+j< t;j++){//j表示的是长度,i+j表示的是当前的位置
                    x= x *10+s[i+j]-'0' ; 
                    if(s[i+j]=='0') continue ; //这个判断条件必须放在x转换方程的后面
                    //对于那些中间为0的字符还是要考虑的 
                    if(x+fan(x)==fan(x+fan(x))){
                        //就是判断这两个数的和是不是回文数,
                        //如果是的话,反过来应该相等 
                        ve.push_back(x);
                    }
                }
            }
            sort(ve.begin(),ve.end()); 
            ll x=ve.size();
            printf("%lld
    ",x); 
            for(int i=0;i<x;i++)
                printf("%lld ",ve[i]);
            cout<<endl;
            ve.clear();
        }
        return 0;
    }
  • 相关阅读:
    java多线程
    golang编码转换
    golang csv,xls,xlsx
    golang 资源
    electron安装
    Ubuntu系统下面软件安装更新命令
    golang代码执行顺序
    datatables使用
    Echarts柱形图颜色设置
    golang chan 超时
  • 原文地址:https://www.cnblogs.com/Accepting/p/11370737.html
Copyright © 2011-2022 走看看