uasco Dual Palindromes
与上题一样,改改就1Y了。
/*
ID: like_091
PROG: palsquare
LANG: C++
*/
#include<iostream>
#include<fstream>
#include<algorithm>
#include<string>
#include<map>
using namespace std;
//判断是否是回文串
bool pal(int s[], int n)
{
bool flag = true;
for (int i = 0; i < n; i++)
if (s[i] != s[n - i - 1])
{
flag = false;
break;
}
return flag;
}
int change(int n[], int x, int t)
{
int k = 0;
while (x > 0)
{
n[k++] = x % t;
x /= t;
}
for (int i = 0; i < k / 2; i++)
{
int tem = n[i];
n[i] = n[k - i - 1];
n[k - i - 1] = tem;
}
return k;
}
int main(void)
{
ifstream cin("palsquare.in");
ofstream cout("palsquare.out");
int n, s;
while (cin>>n>>s)
{
int t = ++s;
while (n)
{
int x[200], sum = 0;
for (int i = 2; i <= 10; i++)
{
int k = change(x, t, i);
if (pal(x, k))sum++;
}
if (sum >= 2)
{
cout<<t<<endl;
n--;
}
++t;
}
}
return 0;
}
浙公网安备 33010602011771号