两个数的最大公约数和最小公倍数
2021-06-11 本文已影响0人
啷里个啷里个啷个里个啷
/*
题目:
输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
比如:12 和 20 的最大公约数是 4,最小公倍数是 60;
说明:break关键字的使用。
*/
import java.util.Scanner;
class ForTest1{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个正整数:");
int num1 = scanner.nextInt();
System.out.println("请输入第二个正整数:");
int num2 = scanner.nextInt();
// 求最小公倍数
// 最小公倍数最大是 :num1 * num2;
// 最小公倍数最小是 :num1 和 num2 中最大的数;
int index1 = (num1 > num2) ? num1 : num2;
int indexMax1 = num1 * num2;
for (int i = index1; index1 <= indexMax1;i++ ) {
if ((i % num1 == 0) && (i % num2 == 0)) {
System.out.println(num1 + "和" + num2 + "的最小公倍数是 " + i);
break;
}
}
// 求最大公约数
// 最大公约数 最大是 :num1 和 num2 中最小的数;
// 最大公约数 最小是 :2;
int index2 = (num1 < num2) ? num1 : num2;
for (int i = index2; i >= 1 ;i-- ) {
// System.out.println("i = " + i);
if ((num1 % i == 0) && (num2 % i == 0)) {
System.out.println(num1 + "和" + num2 + "的最大公约数是 " + i);
break;
}
}
}
}