题解 | #自守数#
自守数
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