一个数如果恰好等于他的因子之和,这是就成为“完数“,例如6=1+2+3.编程找出1000以内的所有完数
from sys import stdout for i in range(2,1001): k=[] #用于存储因子 s=i #初始化s为当前数字i for j in range(1,i): if i%j==0: #如果j是i的因子 s-=j #从s中减去银子j k.append(j) #将因子j加入列表k if s==0:#如果s最终为0,说明i是一个完数 print(i) for j in range(len(k)): #遍历银子列表 stdout.write(str(k[j])) #将因子转换为字符 stdout.write(' ') #写入空格分隔 print() #换行