美文网首页
B(亲和数(真约数))

B(亲和数(真约数))

作者: Celia_QAQ | 来源:发表于2019-03-19 16:15 被阅读0次

古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为: 

1+2+4+5+10+11+20+22+44+55+110=284。 

而284的所有真约数为1、2、4、71、 142,加起来恰好为220。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。 

你的任务就编写一个程序,判断给定的两个数是否是亲和数

Input

输入数据第一行包含一个数M,接下有M行,每行一个实例,包含两个整数A,B; 其中 0 <= A,B <= 600000 ;

Output

对于每个测试实例,如果A和B是亲和数的话输出YES,否则输出NO。

Sample Input

2

220 284

100 200

Sample Output

YES

NO


#include<iostream>

#include<cmath>

#include<cstdio>

#include<cstring>

using namespace std;

int f(int a)

{

int i,sum=0;

for(int i=1;i<=a/2;i++)

if(a%i==0)sum+=i;

return sum;

}

int main ()

{

int a,b,t;

scanf("%d",&t);

    while(t--){

    scanf("%d%d",&a,&b);

    if(f(a)==b&&f(b)==a)

printf("YES\n");

else printf("NO\n");

}

  return 0;

}

相关文章

  • B(亲和数(真约数))

    古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+1...

  • 最大公约数

    最大公约数 自然数d同时是a,b的约数,称d是a和b的公约数,d是a和b的公约数中最大的一个,d就是最大公约数,记...

  • 欧几里得算法证明

    设a与b的公约数集合为A, b与a%b的公约数集合为B要证明gcd(a,b) = gcd(b, a%b),即证ma...

  • 为什么辗转相除法可以求最大公约数

    假设有a,b两个数(a>b),求它们的最大公约数。 设d为a和b的公约数(b是从公约数中任取出来的) 所以d也是b...

  • 最大公约数与最小公倍数

    基本概念 如果数a能被数b整除,a就叫做b的倍数,b就叫做a额约数。几个整数中公有的约数,叫做这几个数的公约数;其...

  • 亲和数”的发现

    所谓的“亲和数”,是指除自身之外的约数之和恰好等于对方的一对数字。最小的一对亲和数是220和 284。220的约数...

  • 最大公约数&最小公倍数

    整数a整数b 最小公倍数 最小公倍数=a*b/最大公约数 最大公约数 最大公约数三种求法辗转相除法c=a%b;wh...

  • 自学Python:求最大公约数

    什么是公约数? 如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫作这几...

  • JavaScript基础函数练习题—寻找亲密数

    寻找亲密数。如果证书a的全部约数(不包括a本身)之和等于b,且整数b的全部约数(不包括b本身)之和等于a;则称整数...

  • 最大公约数

    一、辗转相除法1,循环除 2,迭代除 扩展:a,b最小公倍数=(ab最大公约数^2)a/最大公约数b/最大公约数=...

网友评论

      本文标题:B(亲和数(真约数))

      本文链接:https://www.haomeiwen.com/subject/edhnmqtx.html