丝米大大


私信TA

用户名:1964000649

访问量:6184

签 名:

就是这么6

等  级
排  名 8529
经  验 1168
参赛次数 1
文章发表 7
年  龄 18
在职情况 学生
学  校 湖南
专  业 计算机应用技术

  自我简介:

TA的其他文章

解题思路:

    1.用变量保存输入的两个数字 

    2.取出其中一个数字,从1开始到这个数字循环取模,如果能够整除就累加

    3.如果累加的结果正好等于另一个数字,就可以输出 YES

    4.反向再比较一次

注意事项:

    1.注意可以循环到数字的一半就可以了,比如 220  从 1 到 110 循环。

参考代码:

import java.util.Scanner;

class qinheshu 
{
	public static void main(String[] args) 
	{
		Scanner input = new Scanner(System.in);
		while (input.hasNext())
		{
			int count = input.nextInt();    //储存接下来有几组数据
			int[][] nums = new int[count][2];    //储存数据的二维数组
			for (int i = 0; i < count; i++)
			{
				 nums[i][0] = input.nextInt();    //输入这组数据
				 nums[i][1] = input.nextInt();
			}

			for (int i = 0; i < count; i++)
			{
			        //正反都判断一次
				if (isQinHeShu(nums[i][0], nums[i][1]) && isQinHeShu(nums[i][1], nums[i][0]))
				{
					System.out.println("YES");
				}
				else
				{
					System.out.println("NO");
				}
			}
		}

	}

	public static Boolean isQinHeShu(int a, int b)
	{
		int sum = 0;    //累加记录值
		for (int i = 1; i <= a / 2; i++)
		{
			if (a % i == 0)    //是否是因数
			{
				sum += i;
			}
		}
		return sum == b;    //返回真假
	}
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区