题解 | #自守数#

自守数

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
全部评论
高!
点赞
送花
回复
分享
发布于 2021-09-16 15:40

相关推荐

点赞 评论 收藏
转发
6 收藏 评论
分享
牛客网
牛客企业服务