完数:一个数的所有因子之和等于这个数本身,称这个数为完数。如:6=1+2+3,则6是完数。
1、题目:判断这个数是否是完数。
求解思路:先找出这个数的所有因子,再计算这个数的因子之和并判断是否等于这个数,是则输出。
2、找出一定范围内的所有完数。
求解思路:外循环遍历这个范围,在内循环里判断是否是完数。
#判断一个数是否完数
number=int(input("请输入:"))
def wanshu(number):
factor=[]
for i in range(1,number):
if number % i ==0:
factor.append(i)
if sum(factor)==number:
print(" %d 是完数"% number)
#求一定范围内的完数 ,如找出10000以内的完数。
factor=[]
for j in range(1,10000):
for i in range(1,j):
if j % i ==0:
factor.append(i)
if sum(factor)==j:
print(" %d 是完数"% j)
factor=[]