题解 | #完全数计算#

完全数计算

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

while True:
    try:
        num = int(input())
        count = 0
        for i in range(1,num): #从1到num所有的数找完美数
            sum_num = 0
            a = []
            for j in range(1,i): #找到i的所有因子
                if(i % j == 0): 
                    sum_num += j #因子之和
            if(sum_num == i): #若等于本身则是完美数
                count += 1
        print(count)
    except:
        break
华为机试题解(prod.by kedao) 文章被收录于专栏

华为实习机试题解

全部评论
有bug,6也是完全数,但是输入6时输出为0,第一个循环应该要num+1.这是我的代码n = int(input()) count = 0 if n == 0: print("0") else: for i in range(1,n+1): n_all = 0 for j in range(1,i): if i%j == 0: n_all += j if n_all == i: count += 1 print(count)
1 回复 分享
发布于 2022-04-18 15:22

相关推荐

不放弃的小鱼干很洒脱:好可爱的离职理由
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务