Python求1~300之间所有的完数

题目概述:

一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如6的因子为1、2、3,而6=1+2+3,因此6是“完数” 。现在求出1~300之间所有的完数,并且输出它们的因子和个数。

实现代码:

count=0
for i in range(1,301):
    list1=[]
    for j in range(1,i):
        if i%j==0:
            list1.append(j)
    if sum(list1)==i:
        count+=1
        print("%d是完数,因子是"%i,list1)
print('300以内的完数总共有%d个'%count)

运行演示:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42257666/article/details/106788624