2040-亲和数(java)

在这里插入图片描述
思路:题意就是求哪两个数各自除了本身的约数之和正好是彼此,这一对数就称之为亲和数。

import java.util.*;
public class Main {
    
    
public static void main(String[] args) {
    
    
	Scanner a=new Scanner(System.in);
	int M=a.nextInt();
	while(a.hasNext())
	{
    
    
		int A=a.nextInt();
		int B=a.nextInt();
		if(A>=0&&B<=600000)        //题意范围
		{
    
    
			int num=0,sum=0;
			for(int i=1;i<A;i++)   //除了本身其他约数用for遍历并相加
			{
    
    
				if(A%i==0)
					num+=i;
			}
			for(int j=1;j<B;j++)   //除了本身其他约数用for遍历并相加
			{
    
    
				if(B%j==0)
					sum+=j;
			}
			if(num==B&&sum==A)				//判断然后输出即可
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	}
}
}

若有错误,还请指正。

猜你喜欢

转载自blog.csdn.net/weixin_45956604/article/details/114708577