如何使用Python检查两个数(m,n)是否是亲和数?
亲和数是两个不同的数字,它们的真约数之和相等于另一个数。 (一个数的真约数是除这个数本身以外的正因数。例如,6的真约数是1、2和3。)
在Python中,您可以通过对每个数字的真约数进行求和并将它们与另一个数字进行比较来找到这些数字。例如,
def are_amicable(x, y):
if x==y:
return False
# Find sum of their proper divisors
sum_x = sum(e for e in range(1, x//2+1) if x % e == 0)
sum_y = sum(e for e in range(1, y//2+1) if y % e == 0)
#Return true of they satisfy the last condition
return sum_x==y and sum_y==x
print(are_amicable(15, 20))
print(are_amicable(220, 284))
这将输出
False
True
阅读更多:Python 教程
极客教程