原数输得出来,后面的回文输不出来???
#include<bits/stdc++.h>
using namespace std;
int B;
string num;
int main() {
int i, j, k;
cin >> B;
for (i = 1; i <= 300; i++) {
num = "";
int x = i * i;
int cnt = 0;
while (x) {
if (x % B >= 10) {
num[++cnt] = 'A' + x % B - 10;
x /= B;
continue;
}
num[++cnt] = x % B + '0';
x /= B;
}
for (j = 1, k = cnt; j <= k; j++, k--)
if (num[j] != num[k])
break;
if (j > k) {
cout << i;
cout << " ";
cout << num;
}
}
return 0;
}