定义一个数除了自身所有因数的和等于他本身为完数。首先判断一个数是不是完数,然后输入任意一个数,输出小于这个数的所有完数
已回答,莫辜负
————————————————————————————————————————
def is_perfect(num):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
if sum(factors) == num:
return True
else:
return False
def perfect_numbers(num):
perfect_list = []
for i in range(1, num):
if is_perfect(i):
perfect_list.append(i)
return perfect_list
n = int(input("请输入一个正整数:"))
perfect_nums = perfect_numbers(n)
print("小于", n, "的所有完数是:", perfect_nums)
该回答引用GPT:
定义一个函数,判断一个数是否为完数:
def is_perfect_number(num):
sum = 0
for i in range(1, num):
if num % i == 0:
sum += i
return sum == num
输入任意一个数,输出小于这个数的所有完数:
num = int(input('请输入一个数:'))
for i in range(1, num):
if is_perfect_number(i):
print(i)
如还有疑问,可留言帮助解决。
def is_perfect(num):
factors = []
for i in range(1, num):
if num % i == 0:
factors.append(i)
return sum(factors) == num
def get_perfect_numbers(limit):
perfect_nums = []
for i in range(1, limit):
if is_perfect(i):
perfect_nums.append(i)
return perfect_nums
print(get_perfect_numbers(10000)) # 输出小于10000的所有完数
不知道你这个问题是否已经解决, 如果还没有解决的话:欠拟合