题解 | #完全数计算#

完全数计算

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

from math import sqrt
# 完全数计算
def count_perfect_num(n):
    # 定义一个函数,判断一个数是否是完全数
    lst = [] # 创建一个列表,存放因子
    for i in range(1,int((n // 2)+1)): # 遍历从 1 到 n/2 的所有整数
        if n % i == 0: # 如果 i 能整除 n ,则 i 是 n 的因子
            lst.append(i) # 将 i 添加到列表中
            
    if sum(lst) == n: # 如果列表中的所有数之和等于 n,说明 n 是完全数
        return True
    else: 
        return False 

count = 0 # 定义一个变量 count ,用来记录完全数的个数
for i in range(1,int(input())+1): # 遍历从 1 到 n 的所有整数
    if count_perfect_num(i): # 如果 i 是完全数,调用函数判断
        count += 1 # 则 count 加一
print(count) # 打印结果

全部评论

相关推荐

04-21 11:22
已编辑
中华女子学院 UE4
耐心学习_佩可officical:直接举报他,佬,违反劳动法我记得boss会下架
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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