python中的亲密数对
亲密数对
整体思路:
分别计算 A:3,4,5,6,他们 因子之和 B
对因子和 B 计算因子和 C
如果 A == C,说明 A 和 B是亲密数对
如果整数 A 的全部因子(包括1,不包括 A 本身)之和等于8; 且整数 B 的全部因子(包括1,不包括B本身)之和(C)等于A, 则将整数 A 和 B 称为亲密数
1 def factorsSum(n): 2 sum = 0 3 for i in range(1,n): 4 if n % i == 0: 5 sum += i 6 return sum 7 8 for a in range(1,3000): 9 b = factorsSum(a) 10 c = factorsSum(b) 11 if (a == c and a != b): 12 print("%d和%d"%(a,b))