21xrx.com
2024-11-05 18:40:33 Tuesday
登录
文章检索 我的文章 写文章
Java递归算法:求最大公约数
2023-06-18 17:07:05 深夜i     --     --
Java 递归 最大公约数

在Java中,我们可以用递归算法来求最大公约数。最大公约数指的是两个数的公共约数中最大的那个数。例如,12和18的最大公约数是6。下面是Java递归算法的代码实现:


public static int gcd(int a, int b) {

  if (b == 0)

    return a;

   else {

    return gcd(b, a % b);

  }

}

在这个代码中,gcd函数接收两个参数a和b,并通过递归的方式来求解它们的最大公约数。当b等于0时,递归终止,返回a作为最大公约数。当b不等于0时,递归继续,新的a值为原来的b值,新的b值为原来a除以b的余数。这个过程一直持续到b等于0为止。

接下来,我们可以编写一个简单的主函数来测试这个递归函数的正确性:


public static void main(String[] args) {

  int a = 12, b = 18;

  System.out.println("最大公约数:" + gcd(a, b));

}

运行结果为:


最大公约数:6

这说明,我们的递归算法成功地求出了12和18的最大公约数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复