如果有两个数,每一个数的所有除它本身的约数之和等于对方,称这两个数为互满数`
def fun1(num): #fun1 求约数并将约数存放在list1
list1 = []
for i in range(1,num):
if num % i ==0:
list1.append(i)
return list1
for num1 in range(1,10000):
list2 = fun1(num1) #求num 的所有约数
num2 = sum(list2) #求num1所有约数之和num2
list3 = fun1(num2) #num2 的所有约数
if sum(list3) == num1 and num1 != num2 and num1 > num2:
print(num2,'与',num1,'是互满数')

本文介绍了一种算法,用于寻找两个特殊的数——互满数对。互满数是指两个数,其中一个数的所有除它本身的约数之和等于另一个数,反之亦然。通过定义函数fun1来获取一个数的所有约数,再通过遍历一定范围内的数并应用该函数,可以找出符合条件的互满数对。

338

被折叠的 条评论
为什么被折叠?



