zoukankan      html  css  js  c++  java
  • Dual Palindromes 双重回文数

    如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”。例如,12321就是一个回文数,而77778就不是。当然,回文数的首和尾都应是非零的,因此0220就不是回文数。 事实上,有一些数(如21),在十进制时不是回文数,但在其它进制(如二进制时为10101)时就是回文数。 编一个程序,从文件读入两个十进制数N (1 <= N <= 15)S (0 < S < 10000)然后找出前N个满足大于S且在两种或两种以上进制(二进制至十进制)上是回文数的十进制数,输出到文件上。 本问题的解决方案不需要使用大于32位的整型

    Input

    只有一行,用空格隔开的两个数N和S。

    Output

    N行, 每行一个满足上述要求的数,并按从小到大的顺序输出.

    Sample Input

    3 25

    Sample Output

    26
    27
    28
    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cmath>
    #include <cstring>
    using namespace std;
    typedef long long ll;
    char aa[101010];
    ll yang2()
    {
        ll n,t,ans=0;
        n=strlen(aa);
        ll i;
        for(i=0;i<n/2;i++)
        {
            if(aa[i]==aa[n-i-1])
                ans++;
        }
        if(ans>=n/2)
            return 1;
        else
            return 0;
    }
    ll yang(ll n,ll a)
    {
        ll m;
        memset(aa,0,sizeof(aa));
        ll i=0;
        while(n)
        {
            aa[i++]=n%a+48;
            n/=a;
        }
        aa[i]=0;
        //puts(aa);
        ll d=yang2();
    
        if(d==1)
            return 1;
        else
            return 0;
    }
    int main()
    {
        ll n,s,i,j,ans=0;
        cin>>n>>s;
        for(i=s+1;;i++)
        {
            ans=0;
            if(n==0)
                break;
            for(j=2;j<=10;j++)
            {
                ll b=yang(i,j);
                if(b==1)
                    ans++;
                if(ans>=2)
                    break;
            }
            if(j<=10)
            {
                cout<<i<<endl;
                n--;
            }
        }
        return 0;
    }
    

    e   一定注意加48~~~

  • 相关阅读:
    web.xml配置详解
    oracle按时间创建分区表
    cron表达式详解
    临时表
    配置非安装版tomcat服务
    CodeForces 785 D Anton and School
    CodeForces 601B Lipshitz Sequence
    CodeForces 590C Three States BFS
    CodeForces 592D Super M DP
    CodeForces 507E Breaking Good 2维权重dij
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702698.html
Copyright © 2011-2022 走看看