题库首页 › 青少年软件编程(C语言) › 题目 14528

亲和数 题目描述 古希腊数学家毕达哥拉斯发现,某些正整数的真因子之和等于另一个数,而另一个数的真因子之和恰好就等于前者。 例如,220220 的所有真因子之和为: 1+2+4+5+10+11+20+22+44+55+110=2841+2+4+5+10+11+20+22+44+55+110=284 而 284284 的所有真因子为: 1+2+4+71+142=2201+2+4+71+142=220 人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。 输入格式 输入数据第一行包含一个数 MM,接下有 MM 行,每行一个实例,包含两个整数 A,BA,B。 输出格式 对于每个测试实例,如果 AA 和 BB 是亲和数的话输出 YES,否则输出 NO。 输入样例 2 220 284 100 200 输出样例 YES NO 说明提示 0≤M≤300≤M≤30 0≤A,B≤1000000≤A,B≤100000 限制 时间限制:1000ms 内存限制:128MiB

正确答案:参考程序(Python):def ds(x):return sum(i for i in range(1,x) if x%i==0);M=int(input());for _ in range(M):A,B=map(int,input().split());print('YES' if ds(A)==B and ds(B)==A else 'NO')。样例→YES NO。核心:亲和数判断。

试卷来源:202506 青少年等级考试C/C++真题二级

本卷相关题目

在线做题 同科目题库