跳到主要内容

Kotlin 程序使用递归找到最大公约数

此程序接受两个正整数,并使用递归计算最大公约数(GCD)。

访问此页面以了解如何使用循环来计算最大公约数(GCD)

示例:使用递归计算两个数的最大公约数

fun main(args: Array<String>) {
val n1 = 366
val n2 = 60
val hcf = hcf(n1, n2)

println("$n1$n2 的最大公约数是 $hcf。")
}

fun hcf(n1: Int, n2: Int): Int {
if (n2 != 0)
return hcf(n2, n1 % n2)
else
return n1
}

当您运行该程序时,输出如下:

36660 的最大公约数是 6

在上面的程序中,递归函数被调用,直到n2为0。最终,n1的值就是给定两个数字的最大公约数(GCD)。

执行步骤

序号递归调用n1n2n1 % n2
1hcf(366, 60)366606
2hcf(60, 6)6060
最终hcf(6, 0)60-

以下是等效的Java代码:使用递归查找最大公约数(G.C.D.)的Java程序