最大公约数小于两个数小的那个,最小公倍数大于两个数大的那个。
求最大公约数从大到小寻找,求最小公倍数从小到大寻找,也就是说循环方向。
import java.util.Scanner; public class JavaTest { public static void main(String[] args) { //从键盘输入获取两个数 Scanner scan = new Scanner(System.in); System.out.println("请输入第一个正数:"); int m = scan.nextInt(); System.out.println("请输入第二个正数:"); int n = scan.nextInt(); //取出两个数中的最大和最小值用于后面作用 int max = (m >= n)? m : n; 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; } } //求最小公倍数 for (int i = max; i <= m * n; i++){ if (i % m == 0 && i % n == 0){ System.out.println("最小公倍数是:" + i); break; } } } }