(回文平方数)回文数是指从左向右念和从右向左念都一样的数。如12321就是一个典型的回文数。
给定一个进制B(2≤B≤20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且它的平方用B进制表示时是回文数的数。用A,|...表示1010,1111等。
输入一个单独的整数B(B用十进制表示)。
输出每行两个B进制的符合要求的数字,第二个数是第一个数的平方,且第二个数是回文数。
tinclude<bits/stdc++.h>
using namespace std;
int b,a[10000], aa 10000], cnta, cntaa;
void changeb(int x,int __(1)__,int &cnt) {
cnt=0;
while(x>0) a[cnt++]=__(2)__;
}
bool is_pal() {
for(int i=0,j=__(2)__; i<j; i++,j--)
if(aa[i]!=aa[j]) return 0;
return 1;
}
void print (int __(1)__,int __(4)__) {
for(int i=cnt-1; i>=0; i--)
if(a[i]>=0 && a[i]<=9) cout<<a[i];
else cout<<__(5)__;
}
int main() {
cin>>b;
for(int i=1; i<=300; i++) {
changeb(i,a, cnta) ;
changeb (i*1,aa, cntaa) ;
if(is_pal()) {
print(a,cnta) ;
cout<<' ';
print(aa, cntaa) ;
cout<<endl;
}
}
return 0;
}
选择题
1) ⑴处应填( )。
2) ⑵处应填( )。
3) ⑶处应填( )。
4) ⑷处应填( )。
5) ⑸处应填( )。