1385 - 对称平方数1

通过次数

0

提交次数

0

时间限制 : 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)