题目 一个数如果恰好等于它的因子之和,这个数就成为“完数”。例如6=1+2+3。编程找出1000以内的所有完数。 程序分析 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。 程序使用了for的嵌套,分别遍历找寻找的完全数和真因子。 程序实现
#Topic : 编程找出1000以内的所有完全数
#File Name : PerfectNumber.py
#Author : Jack Cui
#Created : 5 April 2016
for num in range(2,1001):
result = []
flag = num #打印标志位
for factor in range(1,num):
if num % factor == 0:
flag -= factor
result.append(factor)
if flag == 0:
print(num,end='=')
result_length = len(result)
for i in range(result_length):
if i != result_length - 1:
print(result[i],end='+')
else:
print(result[i])
结果显示