题解 | #完全数计算#

完全数计算

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)

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 15:36
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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