#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
bool check(string s)
{
for (int i = 0, j = s.size() - 1; i < j; i ++ , j -- )
if (s[i] != s[j])
return false;
return true;
}
char get(int x)
{
return x + '0';
}
string base(int x, int k)
{
string s;
while (x) s += get(x % k), x /= k;
reverse(s.begin(), s.end());
return s;
}
int main()
{
int n, k;
cin >> n >> k;
int cnt = 0;
for (int i = k + 1; cnt < n; i ++ )
{
int res = 0;
for (int j = 2; j <= 10; j ++ )
{
string s = base(i, j);
if (check(s)) res ++ ;
}
if (res >= 2)
{
cout << i << endl;
cnt ++ ;
}
}
return 0;
}
双重回文——usaco training 1.3
最新推荐文章于 2024-10-05 21:10:28 发布