问题


  • 计算两个非负整数p和q的最大公约数

算法思想


  • 若q是0,则最大公约数为p
  • 否则,将p除以q得到余数r
  • p和q的最大公约数即为q和r的最大公约数

Java


  • 源码
public class GCD {
    
    // 获取最大公约数
    public static int gcd(int p, int q) {
        if (q == 0) return p;
        int r = p % q;
        return gcd(q, r);
    }
}
  • 测试用例
public class Test {
    public static void main(String[] args) {
        int a = 16;
        int b = 20;
        System.out.println(GCD.gcd(a, b));
    }
}
  • 测试结果
4

相关文章:

  • 2021-11-27
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2021-11-01
  • 2022-01-15
  • 2022-12-23
猜你喜欢
  • 2021-05-02
  • 2022-12-23
  • 2022-12-23
  • 2021-05-06
  • 2021-09-08
  • 2022-12-23
  • 2021-10-18
相关资源
相似解决方案