
解析:
两种实现方式
- 暴力求解,直接用for循环一个一个数增加,符合条件就返回
- 公式求解法,先求出最大公约数c,再用公式:a*b/c
package _4_9_test;
import java.util.Scanner;
/*最小公倍数
*
* */
public class SeventySix {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
System.out.println("方法一:" + lcm1(a, b));
System.out.println("方法二:" + lcm2(a, b));
}
// 循环法
public static int lcm1(int a, int b) {
for (int i = Math.min(a, b);; i++) {
if (i % a == 0 && i % b == 0) {
return i;
}
}
}
// 利用最大公约数的公式法: a*b/最大公约数
public static int lcm2(int getA, int getB) {
int a = getA;
int b = getB;
int big;
if (a < b) {
int temp = b;
b = a;
a = temp;
}
// 求出最大公约数
while (a % b != 0) {
int temp = b;
b = a % b;
a = temp;
}
// 最大公约数
big = b;
return getA * getB / b;
}
}