P1207 [USACO1.2]双重回文数 Dual Palindromes - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h>
using namespace std;
string toB(int n,int b)//把十进制数n转成b进制
{
string ans;
while(n > 0)
{
ans += n % b + '0';
n /= b;
}
return ans;
}
bool isHuiwen(string s)
{
int len = s.size();
for(int i = 0; i < len/2 ; i++)
if(s[i] != s[len - 1 - i]) return false;
return true;
}
int main()
{
int n, s;
scanf("%d%d",&n,&s);
int cnt = 0;
for(int i = s + 1;cnt < n;i++)
{
int c = 0;
for(int j = 2; j <= 10; j++)
{
string s = toB(i,j);
if(isHuiwen(s))c++;
}
if(c >= 2) // 两次以上
{
cnt ++;
printf("%d\n",i);
}
}
return 0;
}