您的位置:首页 > 其它

USACO-Section1.2 Palindromic Squares

2017-05-30 15:24 369 查看

Palindromic Squares

进制转换,遍历判断即可。

代码如下:

/*
ID: xhzdcyy1
PROB: palsquare
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
#include<map>
#define cin fin
#define cout fout
using namespace std;
ofstream fout ("palsquare.out");
ifstream fin ("palsquare.in");

string func(int a,int b){
string res="";
int tmp;
while(a){
tmp=a%b;
if(tmp<10){
res=char(tmp+'0')+res;

}
else{
res=char(tmp+'A'-10)+res;
}
a/=b;
}
return res;
}

bool check(string a){
int l=a.length();
for(int i=0;i<l/2;i++){
if(a[i]!=a[l-1-i]) return false;
}
return true;
}

int main()
{
int b;
cin>>b;
for(int i=1;i<=300;i++){
string tmp=func(i*i,b);
if(check(tmp)){
cout<<func(i,b)<<" "<<tmp<<endl;
}
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: