python 函数 亲密数对

2021-05-30 22:02

阅读:366

"""
亲密数对(3000以内) 3 - 3000
整体思路:
分别计算A:3,4,5,6,他们因子 之和 B
对因子和B 计算 因子和C
如果 A==C,说明A和B是亲密数对

如果整数A的全部因子(包括1,不包括A本身)之和等于B;
且整数B的全部因子(包括1,不包括B本身)之和(C)等于A,
则将整数A和B称为亲密数。
"""
##计算 n 的因子 之和
def factorsSum(n):
sum = 0
i = 1
while i
if n % i == 0:
sum += i
i += 1
return sum

for a in range(3,3000):
b = factorsSum(a)
c = factorsSum(b)
if(a == c and a != b):
print("%d 和 %d"%(a,b))

上一篇:python 哥德巴赫猜想

下一篇:C++11线程池


评论


亲,登录后才可以留言!