题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
def is_perfect_number(num):
sum_of_num = []
for i in range(1,num//2 + 1):
if num % i == 0:
sum_of_num.append(i)
res = 0
for j in sum_of_num:
res = res + j
return res == num
def count_perfect_number(n):
origin = 0
for num in range(1,n+1):
if is_perfect_number(num):
origin += 1
return origin
print(count_perfect_number(int(input())))
根据完备数定义,一个数的所有约数,除了自身外,其他约数之和等于自身,那么这个数就叫完备数
从range(1,num//2+1)中遍历出所有可能的约数,判断num%i==0,就可以精确的的得到i是否为num的约数,再把他放到一个list里面最后遍历相加结果res,看是否与自身相等,若相等则记录下
曼迪匹艾公司福利 142人发布
查看24道真题和解析