В этой программе вы научитесь находить GCD (Наибольший общий делитель) или HCF с помощью рекурсивной функции в Kotlin.
Эта программа берет два положительных целых числа и вычисляет НОД с использованием рекурсии.
Посетите эту страницу, чтобы узнать, как можно рассчитать НОД с помощью циклов.
Пример: НОД двух чисел с использованием рекурсии
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 )
Когда вы запустите программу, вывод будет:
НОД 366 и 60 равно 6.
В приведенной выше программе рекурсивная функция вызывается до тех пор, пока n2 не станет 0. В конечном итоге значение n1 - это НОД или HCF данных двух чисел.
Шаги выполненияНет. | Рекурсивный вызов | n1 | n2 | п1% п2 |
---|---|---|---|---|
1 | hcf (366, 60) | 366 | 60 | 6 |
2 | hcf (60, 6) | 60 | 6 | 0 |
Финал | hcf (6, 0) | 6 | 0 | - |
Вот эквивалентный код Java: Программа Java для поиска GCD с использованием рекурсии