如何使用Java函数计算两个数字的最大公约数和最小公倍数?
发布时间:2023-07-02 15:04:18
要计算两个数字的最大公约数和最小公倍数,可以编写一个Java函数来实现。下面是一个使用辗转相除法来计算最大公约数和最小公倍数的示例代码:
public class GcdLcmCalculator {
public static int calculateGcd(int num1, int num2) {
// 使用辗转相除法计算最大公约数
while (num2 != 0) {
int temp = num2;
num2 = num1 % num2;
num1 = temp;
}
return num1;
}
public static int calculateLcm(int num1, int num2) {
// 最小公倍数等于两数之积除以最大公约数
int gcd = calculateGcd(num1, num2);
int lcm = (num1 * num2) / gcd;
return lcm;
}
public static void main(String[] args) {
int num1 = 24;
int num2 = 36;
int gcd = calculateGcd(num1, num2);
int lcm = calculateLcm(num1, num2);
System.out.println("最大公约数:" + gcd);
System.out.println("最小公倍数:" + lcm);
}
}
在这个示例代码中,calculateGcd函数使用辗转相除法来计算最大公约数。该算法通过不断用较大数除以较小数的余数来更新两个数的值,直到余数为0,此时较小数即为最大公约数。
calculateLcm函数使用最大公约数来计算最小公倍数。最小公倍数等于两个数之积除以最大公约数。
在main函数中,我们定义了两个数字 num1和num2,并调用calculateGcd和calculateLcm函数来计算最大公约数和最小公倍数。最后,将计算结果输出到控制台。
使用这个示例代码,当输入 num1=24和num2=36时,输出结果为:
最大公约数:12 最小公倍数:72
这表明24和36的最大公约数是12,最小公倍数是72。
