java算法学习

最大公约数

  欧几里得算法

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

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

  根据算法的自然描述,我们可以很轻松地得到以下的递归实现:

1 public static int euclid(int p, int q) {

2 

3     if (q == 0)

4         return p;

5     

6     int r = p % q;

7     return euclid(q, r);

8 }

  

你可能感兴趣的:(java算法)