AcWing 1346. 回文平方
原题链接
简单
作者:
于志强
,
2021-01-31 20:16:53
,
所有人可见
,
阅读 269
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
char get(int n)
{
if(n <= 9) return n + '0';
else return n - 10 + 'A';
}
string Switch(int n, int b)
{
string str;
while(n) str += get(n % b), n /= b;
reverse(str.begin(),str.end());
return str;
}
bool Check(string str)
{
for(int i = 0, j = str.size() - 1; i < j; i++, j--)
{
if(str[i] != str[j]) return false;
}
return true;
}
int main()
{
int b;
cin >> b;
for(int i = 1; i <= 300; i++)
{
if(Check(Switch(i*i, b))) cout << Switch(i, b) << " " << Switch(i*i, b) << endl;
}
return 0;
}