不用判断几位数,从1开始循环到1000就行了,然后在循环体内计算每个数的平方,然后从平方数个位开始,依次和原数比较,如果匹配则退出循环。
我用python 实现了一下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#判断一个数末尾是否等于另外一个数
def hasNumEnd(j,i):
s = str(j)
num = ''
for k in range(len(s)-1,-1,-1):
num = s[k] + num
if(int(num) == i):
return True
else:
return False
if __name__ == '__main__':
for i in range(1,1000):
j = pow(i,2)
if(hasNumEnd(j,i)):
print i