题解 | 完全数计算

完全数计算

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

# 怎么求一个数的所有约数?


def get_divisor(num):
    divisor = []  # 存储真因子
    for i in range(1, num):  # 如何优化算法,步长step=?
        if num % i == 0:  # 满足约数的条件
            divisor.append(i)
    return divisor


n = int(input())
count = 0  # 完全数的个数
if n == 1:  # 边界值1不是完全数
    print(count)
elif n > 1:
    for i in range(1, n + 1):
        # 判断完全数
        if sum(get_divisor(i)) == i:
            count += 1

    print(count)

全部评论

相关推荐

刘湘_passion:太强了牛肉哥有被激励到
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务