Kotlin Recursive Fonksiyon

Merhabalar, bugün sizlerle Recursive Function (Özyinelemeli) fonksiyonları öğreneceğiz. Hazırsanız başlayalım 🙂


Kotlin’de metodları sıklıkla main() metodu içerisinde çağırıyoruz. Ancak metodlara her yerden erişim sağlayabiliriz.

Recursive (Özyinelemeli) metodlar kendi içerisinde kendilerini çağıran metodlardır. Herhangi bir koşula bağlı olmaksızın sonsuz döngü misali sürekli çalışmaya devam eder.

Recursive metoda kısacası döngülerin kendi kendilerini çağırdıkları, çeşitli işlemleri yaptıkları metodlar diyebiliriz.


Recursive Fonksiyon Örneği

fun main(args: Array<String>) {
    val number = 4
    val result: Long
    result = factorial(number)
    println("Factorial of $number = $result")
}
fun factorial(n: Int): Long {
    return if (n == 1) n.toLong() else n*factorial(n-1)
}

Örneğimizde faktoriyel hesabı yapıyoruz. Recursive yazılan factorial metodu içerisinde n değeri 1’e eşit olana kadar işlemler yapılıyor.

4 değeriyle başlayan işlemde her işlem sonucunda bir değer azaltılıp sonraki fonksiyon işlemlerine devam ediliyor.

factorial(4)              // 1st function call. Argument: 4
4*factorial(3)            // 2nd function call. Argument: 3
4*(3*factorial(2))        // 3rd function call. Argument: 2
4*(3*(2*factorial(1)))    // 4th function call. Argument: 1 
4*(3*(2*1))                 
24
Factorial of 4 = 24

İşlemin sonucunda 5’in faktoriyel hesabını bulmuş olduk.


Yararlanılan Kaynaklar

Gelecek yazılarda görüşmek üzere herkese bol kodlamalar 😉

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir