问题描述
编写一函数lcm,求两个正整数的最小公倍数。
样例输入
一个满足题目要求的输入范例。
例:
3 5
样例输出
15
数据规模和约定
输入数据中每一个数的范围。
例:两个数都小于65536。
思路:模除等于0,就是俩数的最小公倍数哦。如果是官网刷题的一律编写函数Icm,无视也是可以的,并且100哦~
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
int y = scanner.nextInt();
for (int i = x; i <= x * y; i++) {
if (i % x == 0 && i % y == 0) {
System.out.println(i);
break;
}
}
}
}
下面这个是参考了柳婼大佬的代码,我:Emmm;大佬还是大佬,顶!!
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
scanner.close();
System.out.println(lcm(n, m));
}
public static int lcm(int n, int m) {
int g = f(n, m);
return n * m / g;
}
public static int f(int n, int m) {
if (m == 0) {
return n;
} else {
return f(m, n % m);
}
}
}