给定两个数,求这两个数的最大公约数 例如: 输入:20 40 输出:20
时间: 2024-02-13 22:03:04 浏览: 83
有两个数据系列分别为-谭浩强经典C++
可以使用辗转相除法(也称欧几里得算法)来求解最大公约数,具体实现如下:
```java
public static int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
```
在此方法中,如果b为0,则a是最大公约数,否则将b与a mod b的结果递归传递给函数gcd。使用该方法,可以在O(log n)的时间复杂度内计算出最大公约数。
阅读全文