题解 | #完全数计算#

完全数计算

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

n = int(input())   # 输入正整数n
count = 0  # 完全数的个数,初始值为0

for k in range(2,n+1):      # 被除数
    sum = 1     # 因子之和,肯定会有1,所以初始值设置为1
    for i in range(2,int(k**0.5)+1):        # 除数
        if k % i == 0:      # 如果k%i==0说明i是因子
            sum += i    # 那么sum加上i
            if (k/i != i):  # 如果k/i!=i,说明k/i是另外一个因子
                sum += k/i  # sum需要加上另外一个因子
    if sum == k:     # 每处理一个k之后,核实sum是否等于k
        count += 1      # 如果sum=k,那么说明k是完全数,count加1
print(count)        # 打印完美数count的个数

全部评论

相关推荐

shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务