原创代码
仅供参考
欢迎评论O(∩_∩)O~
/*
ID: 输你自己的
PROG: dualpal
LANG: C++
*/
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
using namespace std;
char a[16];
void zjz(int x,int d)
{
int k=0;
while(d!=0){
a[++k]=d%x+48;
d/=x;
}
}
bool pal()
{
int mid=strlen(a);
if(mid%2!=0){
mid/=2;
for(int i=mid;i>=1;i--)
if(a[i]!=a[mid*2-i+1]) return false;
return true;
}
if(mid%2==0){
mid/=2;
for(int i=mid;i>=1;i--)
if(a[i]!=a[mid*2-i]) return false;
return true;
}
}
int main()
{
freopen("dualpal.in","r",stdin);
freopen("dualpal.out","w",stdout);
int b,s;
cin>>b>>s;
int tmp=1;
while(tmp<=b)
{
int rep=0;
s++;
for(int i=2;i<=10;i++)
{
memset(a,0,sizeof(a));
a[0]='#';
zjz(i,s);
if(pal()) rep++;
if(rep>=2) {printf("%d\n",s);tmp++; break;}
}
}
return 0;
}
ps:10000的二进制是16位,也是数组能用到的最大位数