# QA100_018.py
'''
#题目
一个数如果恰好等于它的因子之和,这个数就称为“完数”
找出1000以内的所有完数
eg 6=1+2+3
'''
from sys import stdout
for j in range(2 , 1001): # 遍历1000以内的所有数字
k = [] # 新建一个空的列表
# n = -1
s = j # 将原数赋值给一个新的中间变量
for i in range(1,j):
if j % i == 0: # 判断是否可以整除-因数
# n += 1 # 对n进行累计计数
s -= i # 使用减法来判断是否符合相加的条件
k.append(i) # 将可以整除的数字加入到列表中
if s == 0: # 判断符合条件的数字
print(j)
'''
for i in range(n):
stdout.write(k[i])
stdout.write('')
'''
# print(k[n])
python_QA100_018
于 2023-04-20 19:03:29 首次发布