比较两个正整数m和n,求其最大的公约数和最小的公倍数。

import java.util.Scanner;

class ForTest{
	public static void main(String[] ars){
		Scanner scan = new Scanner(System.in);
		
		System.out.println("请输入第一个正整数:");
		int m = scan.nextInt();
		
		System.out.println("请输入第二个正整数:");
		int n = scan.nextInt();
		
		//获取最大公约数
		//1.获取两个数中的较小值
		int min = (m <= n)?m:n;//两个数的公约数肯定比最小的要小
		//2.遍历
		for(int i = min;i >= 1;i--){//从较小的那个数往下一个一个找满足的数
			if(m % i == 0 && n % i == 0){//需要满足被两个数取模都为0
				System.out.println("最大公约数为:" + i);
				break;//一旦在循环中执行到break,就跳出循环
			}
		}
                //获取最小公倍数
		//1.获取两个数中的较大值
		int max = (m >= n)?m:n;
		//2.遍历
		for (int i = max;i <= m*n;i++){
		if(i % m == 0 && i % n == 0){
			System.out.println("最小公倍数:" + i);
			break;
		}
		}
}
}
posted @ 2022-06-13 21:27  催是什么崔  阅读(104)  评论(0编辑  收藏  举报