1385 - 对称平方数1
时间限制 : 1 秒
内存限制 : 32 MB
打印所有不超过256,其平方具有对称性质的数。如2,11就是这样的数,因为2*2=4,11*11=121。
题目输入
无任何输入数据
题目输出
输出具有题目要求的性质的数。如果输出数据不止一组,各组数据之间以回车隔开。
输入/输出样例
输入格式
输出格式
C语言解答
#include <stdio.h> #include <string.h> int main(){ char strNum[15]; for(int i=0; i<256; i++){ int ans = i*i; sprintf(strNum, "%d", ans); int len = strlen(strNum); int j; for(j=0; j<len/2; j++){ if(strNum[j] != strNum[len-1-j]){ break; } } if(j >= len/2){ printf("%d\n", i); } } return 0; }
C++解答
#include <stdio.h> #include <string.h> int main(){ char strNum[15]; for(int i=0; i<256; i++){ int ans = i*i; sprintf(strNum, "%d", ans); int len = strlen(strNum); int j; for(j=0; j<len/2; j++){ if(strNum[j] != strNum[len-1-j]){ break; } } if(j >= len/2){ printf("%d\n", i); } } return 0; }
Java解答
import java.util.*; public class Main{ public static void main(String args[]){ for(int i=0;i<=256;i++){ int ii=i*i; int iii=ii; int ixi=0; while(iii>0){ ixi*=10; ixi+=iii%10; iii/=10; } if(ixi==ii) System.out.println(i); } } }
Python解答
# coding=utf-8 def isSquareEq(i): sq = str(i ** 2) i = 0 j = len(sq) - 1 while i <= j and sq[i] == sq[j]: i += 1 j -= 1 if i < j: return False return True for i in range(213): if isSquareEq(i): print(i)