在此程序中,您将学习使用Kotlin中的递归函数查找GCD(最大公因数)或HCF(最大公约数)。
该程序采用两个正整数,并使用递归计算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或HCF。 
| No. | 递归调用 | n1 | n2 | n1 % n2 | 
|---|---|---|---|---|
| 1 | hcf(366,60) | 366 | 60 | 6 | 
| 2 | hcf(60,6) | 60 | 6 | 0 | 
| 3 | hcf(6,0) | 6 | 0 | -- | 
以下是等效的Java代码:使用递归查找GCD的Java程序