《华为机试》刷题之自守数
我不知道将去向何方,但我已在路上! |
---|
时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! |
- 题目:
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数
输入描述: int型整数
输出描述: n以内自守数的数量。 - 示例:
示例 1 :
输入:2000
返回值:8
- 代码1:
while True:
try:
n = int(input())
count = 0
for i in range(n+1):
if str(i**2).endswith(str(i)):
count+=1
print count
except:
break
- 算法说明:
str.endswith()
,用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。
逐个遍历n以内的元素,统计自守数个数。