一行代码求两个数的最大公约数
思路
- 辗转相除法:如果 q 和 r 分别是 m 除以 n 的商和余数,即
m = nq + r,那么 m 和 n 的最大公约数等于 n 和 r 的最大公约数
代码实现
public int gcd(int m, int n){
return n == 0 ? m : gcd(n, m % n);
}
m = nq + r,那么 m 和 n 的最大公约数等于 n 和 r 的最大公约数public int gcd(int m, int n){
return n == 0 ? m : gcd(n, m % n);
}