只是把上一题的平方回文数代码稍微改了一下
/*
ID: jinbo wu
LANG: C++
PROB: dualpal
*/
#include<bits/stdc++.h>
using namespace std;
char s[100];
int l;
stack<char> s1;
bool change(int n,int temp)
{
char c;
l=0;
while(temp)
{
int t=temp%n;
if(t<10)
s1.push(48+t);
else s1.push('A'+t-10);
temp/=n;
}
while(!s1.empty())
{
s[l++]=s1.top();
s1.pop();
}
s[l]='\0';
for(int i=0;i<=(l-1)/2;i++)
{
if(s[i]!=s[l-1-i])
return false;
}
return true;
}
int main()
{
freopen("dualpal.in","r",stdin);
freopen("dualpal.out","w",stdout);
int n,s;
scanf("%d %d",&n,&s);
int t=0;
int cnt;
for(int i=s+1;;i++)
{
cnt=0;
for(int j=2;j<=10;j++)
{
if(change(j,i))
{
cnt++;
if(cnt==2)
break;
}
}
if(cnt==2)
{
printf("%d\n",i);
t++;
}
if(t==n)
break;
}
}