在循环中,只要除数不等于 0,用较大数除以较小的数,
将小的一个数作为下一轮循环的 大数,
取得的余数作为下一轮循环的较小的数
,如此循环直到较小的数的值为 0,
返回较大 的数,此数即为最大公约数,
最小公倍数为两数之积除以最大公约数。
package something;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("输入两个正整数m和n:");
int m = scan.nextInt();
int n = scan.nextInt();
int a = m,b= n;
while(n!=0) {
int num;
num = n;
n = m%n;
m = num;
}
System.out.println("最大公约数为:"+m);
System.out.println("最小公倍数为:"+a*b/m);
}
}