题解 | #完全数计算#

完全数计算

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

n = int(input())
counnnnnnnnnnnnnnnnnnnnnnnnnt = 0


def wanmei(a):
    couuuuuunt = 0
    shu = a
    yinshu = 2
    true_yinshu = 1#多个相同的因数时的实际因数
    max_yinshu = a ** 0.5
    while (shu > 1 and yinshu <= max_yinshu):
        if (shu % yinshu == 0):
            shu = shu / yinshu
            # print(yinshu)
            true_yinshu *= yinshu
            couuuuuunt = couuuuuunt+true_yinshu+(a/true_yinshu)
        else:
            yinshu += 1
            true_yinshu = 1
    return couuuuuunt


for i in range(2, n + 1):
    if (wanmei(i)+1 == i):
        counnnnnnnnnnnnnnnnnnnnnnnnnt += 1
        # print(i)
print(counnnnnnnnnnnnnnnnnnnnnnnnnt)

全部评论

相关推荐

霁华Tel:秋招结束了,好累。我自编了一篇对话,语言别人看不懂,我觉得有某种力量在控制我的身体,我明明觉得有些东西就在眼前,但身边的人却说啥也没有,有神秘人通过电视,手机等在暗暗的给我发信号,我有时候会突然觉得身体的某一部分不属于我了。面对不同的人或场合,我表现出不一样的自己,以至于都不知道自己到底是什么样子的人。我觉得我已经做的很好,不需要其他人的建议和批评,我有些时候难以控制的兴奋,但是呼吸都让人开心。
点赞 评论 收藏
分享
09-27 14:42
已编辑
浙江大学 Java
未来未临:把浙大放大加粗就行
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务