P1206 [USACO1.2]回文平方数 Palindromic Squares
分析:1.i=1到300开始逐一枚举将i与i*i转为b进制数
2.判断回文,是则输出,否则不输出
思路简单但调试半天系列....
#include<bits/stdc++.h>
using namespace std;
int n;
string s;
void change(int x)
{
while(x)
{
if(x%n>=0&&x%n<=9)
s+=(x%n+'0');
else
s+=(x%n+'A'-10);
x/=n;
}
}
int main()
{
cin>>n;
for(int i=1;i<=300;i++)
{
s.clear();
change(i*i);
string k(s.begin(),s.end());
reverse(s.begin(),s.end());
if(s==k)
{
string m;
m.clear();
int f=i;
while(f)
{
if(f%n>=0&&f%n<=9)
m+=(f%n+'0');
else
m+=(f%n+'A'-10);
f/=n;
//cout<<f<<endl;
}
reverse(m.begin(),m.end());
cout<<m<<" "<<s<<endl;
}
}
return 0;
}