public class Main { public static void main(String[] args) { for (int i = 0; i<= 256; i++) { String s = String.valueOf(i * i); int j=0; int k= s.length()-1; while (j<=k){ if (s.charAt(j)==s.charAt(k)){ j++; k--; }else break; } if (j>k) System.out.println(i); } } }
#include<iostream> using namespace std; int main(){ for(int i=0;i<=256;i++){ int total=0,temp=i*i; while(temp>0){ total=total*10+temp%10; temp/=10; } if(total==i*i) cout<<i<<endl; } }
#include<iostream> #include<cstring> using namespace std; int reverse(int n) { int res = 0; while(n!=0){ res = n % 10 + res * 10; n /= 10; } return res; } int main() { for (int i = 0; i <= 256; i++) { if (i*i == reverse(i*i)) cout << i << endl; } }
#include <stdio.h> int isDuichengnum(int m) { int remain; int reverse = 0; while (m) { remain = m % 10; m = m / 10; reverse = reverse * 10 + remain; } return reverse; } int main() { for (int i = 0; i <= 256; ++i) { if (i * i == isDuichengnum(i * i)) { printf("%d\n", i); } } return 0; }
#include <stdio.h> int reverse(int n) { int reverse = 0; while(n) { int remain = n%10; n = n/10; reverse = reverse*10 + remain; } return reverse; } int main() { int a, b; for(int i = 0; i <= 256; i++) { int x = i * i; if(x == reverse(x)) printf("%d\n", i); } return 0;
#include <iostream> using namespace std; bool sym(int n){ int res = 0,temp = n; while( n != 0){ res = res*10 + n%10; n /= 10; } return temp == res; } int main() { for(int i=0; i<=256; ++i){ if(sym(i*i)) cout << i << endl; } return 0; }
#include <iostream> using namespace std; int main() { for(int i=0;i<=256;i++){ int pf=i*i; if(pf<10){ printf("%d\n",i); } else if(pf<100){ //两位数 if(pf/10==pf%10){ printf("%d\n",i); } } else if(pf<1000){ //三位数 if(pf/100==pf%10){ printf("%d\n",i); } } else if(pf<10000){ //四位数 if((pf/1000==pf%10)&&(pf/100%10==pf/10%10)){ printf("%d\n",i); } } else{ //五位数 if((pf/10000==pf%10)&&(pf/1000%10==pf/10%10)){ printf("%d\n",i); } } } return 0; }
#include <stdio.h> int main() { int x; for (int i = 0; i <= 256 ; ++i) { x = i*i; if(x<10) printf("%d\n",i); //1位数 else if(x>=10&&x<100) { //2位数 if(x/10==x%10){ printf("%d\n",i); } } else if(x>=100&&x<1000){ //3位数 if(x/100==x%10){ printf("%d\n",i); } } else if(x>=1000&&x<10000){//4位树 if(x/1000==x%10&&((x/100)%10)==((x%100)/10)){ printf("%d\n",i); } } else {//5位数 if (x / 10000 == x % 10 && ((x / 1000) % 10) == (x % 100) / 10) { printf("%d\n", i); } } } return 0; }
#include <iostream> #include <string> using namespace std; //先将int转换为字符串,然后依次前后位比对 bool func(int n){ string s=to_string(n); for(int i=0;i<s.size()/2;i++){ if(s[i]!=s[s.size()-i-1]){ return false; } } return true; } int main() { for(int i=0;i<=256;i++){ if(func(i*i)){ cout<<i<<endl; } } }