HDU-ACM2040
しんわすう
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 32580 Accepted Submission(s): 19659
Problem Description
古代ギリシャの数学者ピタゴラスは自然数研究で、220のすべての真約数(すなわち、自身の約数ではない)の和は、1+2+4+5+10+11+20+22+44+55+110=284であることを発見した.284のすべての真約数は1、2、4、71、142であり、合わせて220である.人々はこのような数に驚き、親和数と呼ばれている.一般的に、2つの数のいずれかが別の数の真約数の和であれば、この2つの数は親和数である.あなたの任務はプログラムを作成して、与えられた2つの数が親和数であるかどうかを判断します.
Input
入力データの第1行は1つの数Mを含み、次にM行があり、各行に1つの例があり、2つの整数A,Bを含む.このうち0<=A,B<=600000である.
Output
各試験例について、AおよびBが親和数であればYES、そうでなければNOが出力される.
Sample Input
Sample Output
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 32580 Accepted Submission(s): 19659
Problem Description
古代ギリシャの数学者ピタゴラスは自然数研究で、220のすべての真約数(すなわち、自身の約数ではない)の和は、1+2+4+5+10+11+20+22+44+55+110=284であることを発見した.284のすべての真約数は1、2、4、71、142であり、合わせて220である.人々はこのような数に驚き、親和数と呼ばれている.一般的に、2つの数のいずれかが別の数の真約数の和であれば、この2つの数は親和数である.あなたの任務はプログラムを作成して、与えられた2つの数が親和数であるかどうかを判断します.
Input
入力データの第1行は1つの数Mを含み、次にM行があり、各行に1つの例があり、2つの整数A,Bを含む.このうち0<=A,B<=600000である.
Output
各試験例について、AおよびBが親和数であればYES、そうでなければNOが出力される.
Sample Input
2 220 284 100 200
Sample Output
YES NO
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int m=input.nextInt();
for(int i=0;i<m;i++){
int a=input.nextInt();
int b=input.nextInt();
if(divisor(a)==b&&divisor(b)==a){
System.out.println("YES");
}else{
System.out.println("NO");
}
}
}
public static int divisor(int n){
int sum=0;
for (int i=1;i<=n/2;i++){
if(n%i==0){
sum+=i;
}
}
return sum;
}
}