java欧几里得递归算法求最大公约数原理的代码
时间: 2024-06-11 13:10:36 浏览: 74
算法_用欧几里得算法求最大公因数_
5星 · 资源好评率100%
欧几里得递归算法(又称辗转相除法)求最大公约数的原理是:假设有两个整数a和b,它们的最大公约数为d,那么a和b可以表示为a = d * m,b = d * n,其中m和n为整数。因为d是a和b的公约数,所以它也是a - b和b的公约数。因此,a和b的最大公约数等于b和a - b的最大公约数,直到a和b中有一个数为0,此时另一个数即为最大公约数。
下面是Java代码实现:
```java
public class EuclideanAlgorithm {
public static int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
public static void main(String[] args) {
int a = 30;
int b = 45;
int result = gcd(a, b);
System.out.println("The greatest common divisor of " + a + " and " + b + " is " + result);
}
}
```
在上面的代码中,gcd方法用于求最大公约数,如果b为0,返回a,否则递归调用gcd方法,并将b和a % b作为参数传入。在main方法中,我们测试了a = 30和b = 45的最大公约数。
阅读全文