题解 | #完全数计算#

完全数计算

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

#定义一个函数来判断是不是完全数
def judge(x):
    sum=0                               #sum表示真因子之和
    for i in range(1,int(x**0.5)+1):    #找到一个真因子,其另一个真因子理论也找到了,所以只遍历到n的平方根
        if x%i==0:
            sum +=i
            if i != x//i and x//i !=x:  #注意不要重复添加,例如100的真因子有10 10 只添加其一
                sum += x//i
    if sum == x:                        #判断是不是完全数
        return 1
    else:
        return 0
n=int(input())
total_num=0
for i in range(2,n+1):                  #遍历n以前的数,找到完全数的个数
    total_num +=judge(i)

print(total_num)

全部评论

相关推荐

我是没经验的毕业生,这啥情况啊会不会是hr在刷kpi
JamesGosli...:字节boss属于是群发了,我都快入职字节了,其他部门还在和我boss打招呼
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务