如何使用Python检查两个数(m,n)是否是亲和数?

如何使用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 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程