AcWing 1346. 回文平方
原题链接
简单
作者:
jingle
,
2021-01-13 17:21:29
,
所有人可见
,
阅读 276
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
typedef long long ll;
const int maxn = 1e6 + 7;
int p = 300, n;
int check(int x) {
int xx = x * x;
string s = "";
int i = 0;
while (xx) {
int y = xx % n;
xx = xx / n;
s += (y + 'a');
}
//cout << s << endl;
string s1 = s;
reverse(s.begin(), s.end());
if (s1 == s)return 1;
else return 0;
}
string trans(int xx) {
string s = "";
while (xx) {
int y = xx % n;
xx = xx / n;
if (y <= 9)s += (y + '0');
else s += (y - 10 + 'A');
}
reverse(s.begin(), s.end());
return s;
}
int main() {
cin >> n;
for (int i = 1; i <= p; i++) {
if (check(i)) {
cout << trans(i) << " " << trans(i*i) << endl;
}
}
}