完全数计算[Python]

题目描述

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 < n <= 500000

返回n以内完全数的个数。 异常情况返回-1


代码1:

number = int(input())  
while True:
    try:    
        result = []    
        while number > 1:
            res = []   
            for num in range(1, number//2 + 1):
                if number % num == 0:
                    res.append(num)
            if sum(res) == number:
                result.append(number)
            number -= 1

        print(len(result))
    except:
        break
print(-1)

超出时间限制

代码2:

while True:
    try:
        m = int(input())
        print(len(list(filter(lambda x: x < m, [6, 28, 496, 8128]))))
    except:
        break

猜你喜欢

转载自blog.csdn.net/weixin_43283397/article/details/108356810