在此程序中,您將學(xué)習(xí)使用Kotlin中的遞歸函數(shù)查找GCD(最大公因數(shù))或HCF(最大公約數(shù))。
該程序采用兩個(gè)正整數(shù),并使用遞歸計(jì)算GCD。
訪問此頁(yè)面以了解如何使用循環(huán)來計(jì)算GCD。
fun main(args: Array<String>) {
val n1 = 366
val n2 = 60
val hcf = hcf(n1, n2)
println("$n1和$n2的最大公因數(shù)等于$hcf.")
}
fun hcf(n1: Int, n2: Int): Int {
if (n2 != 0)
return hcf(n2, n1 % n2)
else
return n1
}運(yùn)行該程序時(shí),輸出為:
366 和 60 的最大公因數(shù)為 6.
在上面的程序中,遞歸函數(shù)被調(diào)用,直到n2為0。最后,n1的值是給定兩個(gè)數(shù)的GCD或HCF。
| No. | 遞歸調(diào)用 | 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程序