题解 | #自守数#
自守数
http://www.nowcoder.com/practice/88ddd31618f04514ae3a689e83f3ab8e
思路
- 遍历
- 用range,从0开始,一直到n+1(这里要注意不能漏最后一个)
- 一个数字的末尾是2,3,4,7,8,9的话,不可能题目要求,平方的末尾都和自己不一样;
- 数字to字符串,对i的整体和j的倒数几位直接对比计数即可。
代码
while True:
try:
n = int(input())
c = 0
for i in range(n+1):
if i%10 in [2, 3, 4, 7, 8, 9]:
continue
j = str(i**2)
i = str(i)
if i==j[-len(i):]:
c += 1
print(c)
except:
break
腾讯公司福利 1143人发布