Dual Palindromes
与Palindromic Squares类似,流程略有不同。
代码如下:
/*
ID: xhzdcyy1
PROB: dualpal
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
#include<map>
#define cin fin
#define cout fout
using namespace std;
ofstream fout ("dualpal.out");
ifstream fin ("dualpal.in");
string func(int a,int b){
string res="";
int tmp;
while(a){
tmp=a%b;
if(tmp<10){
res=char(tmp+'0')+res;
}
else{
res=char(tmp+'A'-10)+res;
}
a/=b;
}
return res;
}
bool check(string a){
int l=a.length();
for(int i=0;i<l/2;i++){
if(a[i]!=a[l-1-i]) return false;
}
return true;
}
int main()
{
int n,s;
cin>>n>>s;
int t1=0,t2;
for(int i=s+1;t1<n;i++){
t2=0;
for(int k=2;k<=10;k++){
if(check(func(i,k))){
++t2;
}
if(t2==2){
cout<<i<<endl;
++t1;
break;
}
}
}
return 0;
}