题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
public static void 第六题() { int m = input.nextInt(); //键入m和n的值 int n = input.nextInt(); for (int a = m > n ? n : m; a > 0; a--) { //设变量a为m和n中较小的那个值,a递减,到0为止(递增的话会出现所有的公因数,不好取最后一个值) if (m % a == 0 & n % a == 0) { //判断a是否为m和n的公因数, System.out.println("m和n的最大公约数是" + a); //若是,直接输出a的值,因递减,则第一次输出的就是最大公约数 break; //取得第一次循环的最大公约数之后直接跳出循环 } } aa: for (int b = 1; b <= m; b++) { //设变量b为1到m之间的任意一个数,b递增 for (int i = 1; i <= n; i++) { //设变量i为1到n之间的任意一个数,i递增 if (n * b == m * i) { //判断交叉相乘的积是否相等,若是,则为m和n的公倍数 System.out.println("m和n的最小公倍数是" + n * b); //输出最小公倍数的值,即交叉相乘的积,n*b=m*i,两值皆可 break aa; //循环一次就跳出,因为是递增,所以第一个符合条件的值即最小公倍数 } }
标签:int,nextInt,公倍数,嵌套,最大公约数,循环,公因数 From: https://www.cnblogs.com/Argitacos/p/17226736.html