4092: 练6.8 求亲和数

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:2

题目描述

自然数a的因子是指能被a整除的所有自然数,但不含a本身。例如12的因子为:1,2,3,4,6。若自然数a的因子之和为b,而且b的因子之和又等于a,则称a,b为一对“亲和数” 。求最小的一对亲和数(a<>b)。

输入

(无)

输出

1行,分别为a和b(a < b)。

样例输入 复制


样例输出 复制


提示

def sum_factors(x):
    s=0
    for i in range(1,x//2+1):
        if x%i==0:
            s+=i
    return s
a=1
b=2
while True:
    b=sum_factors(a)
    if sum_factors(b)==a and a<b:
        print(a,b)
        break
    a+=1