W tym programie nauczysz się znajdować GCD (Greatest Common Divisor) lub HCF za pomocą funkcji rekurencyjnej w Kotlinie.
Ten program pobiera dwie dodatnie liczby całkowite i oblicza GCD przy użyciu rekurencji.
Odwiedź tę stronę, aby dowiedzieć się, jak obliczyć GCD za pomocą pętli.
Przykład: GCD dwóch liczb przy użyciu rekursji
fun main(args: Array) ( val n1 = 366 val n2 = 60 val hcf = hcf(n1, n2) println("G.C.D of $n1 and $n2 is $hcf.") ) fun hcf(n1: Int, n2: Int): Int ( if (n2 != 0) return hcf(n2, n1 % n2) else return n1 )
Po uruchomieniu programu wynik będzie następujący:
GCD 366 i 60 wynosi 6.
W powyższym programie funkcja rekurencyjna jest wywoływana tak długo, aż n2 będzie równe 0. Ostatecznie wartość n1 to GCD lub HCF podanych dwóch liczb.
Kroki wykonaniaNie. | Wywołanie rekurencyjne | n1 | n2 | n1% n2 |
---|---|---|---|---|
1 | hcf (366; 60) | 366 | 60 | 6 |
2 | hcf (60; 6) | 60 | 6 | 0 |
Finał | hcf (6; 0) | 6 | 0 | - |
Oto odpowiednik kodu Java: Program w języku Java do wyszukiwania GCD przy użyciu rekursji