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
}
当您运行该程序时,输出如下:
366 和 60 的最大公约数是 6。
在上面的程序中,递归函数被调用,直到n2为0。最终,n1的值就是给定两个数字的最大公约数(GCD)。
执行步骤
序号 | 递归调用 | n1 | n2 | n1 % n2 |
---|---|---|---|---|
1 | hcf(366, 60) | 366 | 60 | 6 |
2 | hcf(60, 6) | 60 | 6 | 0 |
最终 | hcf(6, 0) | 6 | 0 | - |
以下是等效的Java代码:使用递归查找最大公约数(G.C.D.)的Java程序。