java本关任务: 输入两个整数m和n,计算它们的最小公倍数。
时间: 2024-10-07 09:07:22 浏览: 40
在Java中,计算两个整数m和n的最小公倍数(LCM,Least Common Multiple)可以采用多种算法。一种常见的方法是使用欧几里得算法(Euclidean Algorithm),该算法基于这样一个性质:对于任意两个正整数a和b,它们的最大公约数(GCD)乘以a除以最大公约数的结果和b除以最大公约数的结果等于它们的最小公倍数。
以下是使用Java编写的一个简单函数,计算两个整数的最小公倍数:
```java
import java.util.Scanner;
public class Main {
// 计算两个数的最大公约数
public static int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a % b);
}
// 计算最小公倍数
public static int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个整数 m:");
int m = scanner.nextInt();
System.out.println("请输入第二个整数 n:");
int n = scanner.nextInt();
int result = lcm(m, n);
System.out.printf("两个数 %d 和 %d 的最小公倍数是: %d", m, n, result);
scanner.close();
}
}
```
在这个程序中,`gcd()`函数用于找到两个数的最大公约数,然后`lcm()`函数利用公式`(a * b) / gcd(a, b)`计算最小公倍数。用户通过`Scanner`从控制台输入m和n的值,然后程序计算并打印结果。
阅读全文