#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> jinzhizhuanhua(int number,int b)
{
vector<int> v;
int chushu = 1,yushu;
while(chushu!=0)
{
chushu = number / b;
yushu = number % b;
v.push_back(yushu);
number = chushu;
}
vector<int>::iterator iter = v.begin();
reverse(v.begin(),v.end());
return v;
}
bool huiwen(vector<int>& v)
{
int length;
length = v.end() - v.begin();
int i,j;
for(i=0,j=length-1;i<j;i++,j--)
{
if(v[i] == v[j])
continue;
else
break;
}
if(i >= j )
return true;
else
return false;
}
int main(int argc, char const *argv[])
{
int n,s;
cout<<"N?"<<' '<<"S?"<<endl;
cin>>n;
cin>>s;
int i,j;
vector<int> v;
int k = 0;
for(i=s;i<10000;i++)
{
int count = 0;
for(j=2;j<=10;j++)
{
v = jinzhizhuanhua(i,j);
if(huiwen(v))
{
count++;
}
else
continue;
}
if(count >= 2 and k < n)
{
cout<<i<<endl;
k++;
}
}
return 0;
}
Dual Palindromes 双重回文数
最新推荐文章于 2024-01-04 21:37:21 发布