AcWing 1346. 回文平方
原题链接
简单
作者:
Vason
,
2024-04-14 19:34:39
,
所有人可见
,
阅读 4
浅浅写一个代码
#include <iostream>
#include <cstring>
#include <algorithm>
#include <string>
using namespace std;
int B;
char get(int n)
{
if(n <= 9) return n + '0';
return n - 10 + 'A';
}
string change(int n)
{
string res;
while(n)
{
res += get(n % B);
n /= B;
}
reverse(res.begin(), res.end());
return res;
}
bool check(string a)
{
for(int i = 0, j = a.size() - 1; i <= j; i ++, j --)
if(a[i] != a[j]) return false;
return true;
}
int main()
{
cin >> B;
for(int i = 1; i <= 300; i ++)
{
string res = change(i * i);
if(check(res)) cout << change(i) << ' ' << res << endl;
}
return 0;
}