Conversion, and then judging whether it is a palindrome
/******************************************* task:palsquare lang:c++ Created time:2016 September 07 Wednesday 21:18 46 sec *********************************/#include <iostream> #include <cstdio># Include<cstring> #include <algorithm>using namespace std;void bas (int x,int B,char ans[]) {int i; for (i=0;x;i++) {int t=x%b; X/=b; if (t>9) ans[i]=t%10+ ' A '; else ans[i]=t+ ' 0 '; } for (int j=0;j<i/2;j++) swap (ans[j],ans[i-j-1]);} int Ispal (char s[]) {int Len=strlen (s); for (int i=0;i<len;i++) if (s[i]!=s[len-i-1]) return 0; return 1;} int main () {freopen ("palsquare.in", "R", stdin); Freopen ("Palsquare.out", "w", stdout); int b; cin>>b; for (int i=1;i<=300;i++) {char s[20];memset (s,0,sizeof s); BAS (i*i,b,s); if (Ispal (s)) {char n[20]; memset (n,0,sizeof N); BAS (i,b,n); cout<<n<< "" <<s<<endl;}} return 0;}
"Usaco 1.2" palindromic squares