题目概述:
一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如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)
运行演示: