求助!
查看原帖
求助!
167697
BartAllen楼主2022/5/6 12:58

原数输得出来,后面的回文输不出来???

#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;
}
2022/5/6 12:58
加载中...