给出Base b( 2<=b<=20),10进制下1~300的平方的b进制数若为回文数,则输出平方数及原数(按b进制输出),超出9的那一位用A、B...代替
超出9部分的字符转换出现问题,要注意。
if(s1[ll]>9)
s1[ll] += 'A' - 10;
else
s1[ll] += '0';

1 #include <cstdio>
2
3 FILE *fin = fopen("palsquare.in","r");
4 FILE *fout = fopen("palsquare.out","w");
5
6 void solve(int b, int x)
7 {
8 int l = 0, ll = 0;
9 char s[20], s1[20];
10 int temp = x;
11 while(temp>0)
12 {
13 /*int ch = temp % b ;
14 if(ch<10)
15 s1[ll] = ch + '0';
16 else
17 s1[11] = ch + 'A' - 1;
18 */
19 s1[ll] = temp % b;
20 if(s1[ll]>9)
21 s1[ll] += 'A' - 10;
22 else
23 s1[ll] += '0';
24 temp /= b;
25 ll++;
26 }
27 s[ll]='
2
3 FILE *fin = fopen("palsquare.in","r");
4 FILE *fout = fopen("palsquare.out","w");
5
6 void solve(int b, int x)
7 {
8 int l = 0, ll = 0;
9 char s[20], s1[20];
10 int temp = x;
11 while(temp>0)
12 {
13 /*int ch = temp % b ;
14 if(ch<10)
15 s1[ll] = ch + '0';
16 else
17 s1[11] = ch + 'A' - 1;
18 */
19 s1[ll] = temp % b;
20 if(s1[ll]>9)
21 s1[ll] += 'A' - 10;
22 else
23 s1[ll] += '0';
24 temp /= b;
25 ll++;
26 }
27 s[ll]='