双重回文数

2017-08-17  本文已影响0人  书臆
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>

using namespace std ;

char a[20];
int t;

void change(int s,int b){
    memset(a,0,sizeof(a)); 
    while(s){
        a[t++]=s%b+'0';
        s/=b;
    }
}

bool judge(){
    for(int i=0;i<strlen(a);i++)
        if(a[i]!=a[strlen(a)-i-1])return false ;
    return true;
}

int main(){
    int n,s,cnt;
    scanf("%d%d",&n,&s);
    while(n){
        s++;
        cnt=0;
        for(int i=2;i<=10;i++){
            t=0;
            change(s,i);
            if(judge())cnt++;
            if(cnt>=2)break;
        }
        if(cnt>=2){
            printf("%d\n",s);
            n--;
        }
    }
    return 0;
}
上一篇下一篇

猜你喜欢

热点阅读