#---------------亲和数之和----------------- def sumofdivide(x):#求因数之和 sum=0 max=int(x/2)+1#最大的因数不可能大于x/2 for i in range(1,max): if x%i==0: sum+=i; return sum def count(x):#计算是否为亲和对数 sum1=sumofdivide(x) sum2=sumofdivide(sum1) if sum2==x and x!=sum1:#记得亲和数对不能自己和自己,加上排除条件 #print(x)#可以打印出来,看看找到的亲和数 return x else: return 0 if __name__ == '__main__': sum=0 for i in range(1,10001): sum+=count(i) print(sum)
转载于:https://my.oschina.net/u/3641281/blog/1553551