"""
亲密数对(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 <= n - 1:
       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))