Java函数实现最大公约数和最小公倍数的方法
发布时间:2023-06-22 02:01:46
在Java中,实现最大公约数和最小公倍数可以通过递归函数来实现,同时也可以使用循环结构来实现。
(1)实现最大公约数函数:
方法一:辗转相除法
public static int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
方法二:更相减损法
public static int gcd(int a, int b) {
if (a == b)
return a;
else if (a > b)
return gcd(a - b, b);
else
return gcd(a, b - a);
}
(2)实现最小公倍数函数:
方法一:求最小公倍数就是利用最大公约数的与原数的乘积关系进行求解,公式为:最小公倍数 = 两数之积 / 最大公约数。
public static int lcm(int a, int b) {
int gcd = gcd(a, b);
return (a * b) / gcd;
}
方法二:通过循环来计算最小公倍数
public static int lcm(int a, int b) {
int max = Math.max(a, b);
int min = Math.min(a, b);
for (int i = max; ; i += max) {
if (i % min == 0)
return i;
}
}
使用方法:
public static void main(String[] args) {
int a = 48;
int b = 60;
System.out.println("a和b的最大公约数为:" + gcd(a, b));
System.out.println("a和b的最小公倍数为:" + lcm(a, b));
}
输出结果:
a和b的最大公约数为:12 a和b的最小公倍数为:240
总结
Java中实现最大公约数和最小公倍数函数的方法有多种,辗转相除法和更相减损法是比较常用的方法;求最小公倍数可以通过公式(L = a * b / GCD)和循环来实现。只要掌握好了这些方法,就可以轻松地解决最大公约数和最小公倍数的问题。
