import java.util.Scanner;
public class ForTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数:");
int m = sc.nextInt();
System.out.println("请输入第二个数:");
int n = sc.nextInt();
/*
* 求最大公约数:最大公约数肯定比从键盘获取的两个数中最小的还要小
* 所以最大公约数的范围就是从1到两个数中最小的数之间
* 1、首先获取到两个数中最小的数
* 2、从大到小通过循环遍历,如果找到第一个符合条件的就跳出循环
*/
int min =(m <= n)? m : n;
for(int i = min;i >= 1;i--) {
if((m % i == 0)&&(n % i == 0)) {
System.out.println("最大公约数为:" + i );
break;
}
}
/*
* 求最小公倍数:最小公倍数肯定比输入的两个数的最大值还要大,小于两个数的乘积
* 1、首先获取输入的两个数中最大的max
* 2、通过循环遍历去寻找最小公倍数,当找到后就通过break跳出循环
*/
int max = (m > n)? m : n;
for(int i = max;i <= m * n;i++) {
if((i % m == 0)&&(i % n == 0)) {
System.out.println("最小公倍数为:" + i);
break;
}
}
}