题目描述
回文数是指从左向右念和从右像做念都一样的数。如12321就是一个典型的回文数。
给定一个进制B(2<=B<=20十进制),输出所有的大于等于1小于等于300且它的平方用B进制表示时是回文数的数。用’A’,’B’……表示10,11等等。
输入
共一行,一个单独的整数B(B用十进制表示)。
输出
每行两个数字,第二个数是第一个数的平方,且第二个数是回文数。(注意:这两个数都应该在B那个进制下)
样例输入
10
样例输出
1 1 2 4 3 9 11 121 22 484 26 676 101 10201 111 12321 121 14641 202 40804 212 44944 264 69696
模拟题,注意边界就行。。。
好淼的一题
#include <bits/stdc++.h>
using namespace std;
int n, t, s;
char a[256];
void shu(int m)
{
int i = 0;
t = 0;
while (m != 0)
{
if (m % n < 10)
a[i] = '0' + m % n;
else
a[i] = 'A' + m % n - 10;
m = m / n;
t++;
i++;
}
for (int i = 0; i < t / 2; i++)
{
swap(a[i], a[t - i - 1]);
}
}
bool hui()
{