题解 | #完全数计算#

完全数计算

http://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84

知识点:完全数以2或者28结尾。所以先判断该数是否以6或者28结尾,然后再判断是否是完全数

while True:
    try:
        n = int(input())
        pre_list = []
        res = []
        for i in range(1, n+1):
            if i % 10 == 6:
                pre_list.append(i)
            if i % 100 == 28:
                pre_list.append(i)
        for j in pre_list:
            temp = []
            for k in range(1, int(j/2)+1): # n的约数不包含本身,故其余约数不会大于n/2
                if j % k == 0:
                    temp.append(k)
            if sum(temp) == j:
                res.append(j)
        print(len(res))
    except:
        break

全部评论

相关推荐

耀孝女:就是你排序挂了
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
评论
3
3
分享
牛客网
牛客企业服务