每日一题第五天打卡
#include <bits/stdc++.h>
using namespace std;
//该函数参考了博客https://www.cnblogs.com/zwjjj/p/9953718.html
string intToA(int n,int radix) //n是待转数字,radix是指定的进制
{
string ans="";
do{
int t=n%radix;
if(t>=0&&t<=9) ans+=t+'0';
else ans+=t-10+'A';
n/=radix;
}while(n!=0); //使用do{}while()以防止输入为0的情况
reverse(ans.begin(),ans.end());
return ans;
}
int main()
{
int b;
string s;
cin >> b;
for ( int i=1;i<=300;i++ )
{
s=intToA(i*i,b);
int n=s.length();
int j;
for( j=0;j<n/2 && s[j]==s[n-j-1];j++ );
if( j==n/2 )
{
cout << intToA(i,b) << " " << s <<endl;
}
}
return 0;
}