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() #换行