Menu
CoddyTech

Fungsi Rekursif

Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 44 dari 63.

Fungsi rekursif memanggil dirinya sendiri untuk submasalah yang lebih kecil. Kasus dasar mengembalikan nilai tanpa pemanggilan rekursif lainnya. Untuk total hitung mundur, nol adalah kasus dasar dan n - 1 bergerak mendekatinya. Rekursi biasa menggunakan ruang call stack, jadi jaga kedalaman input tetap kecil.

fun countdownSum(n: Int): Int {
    if (n == 0) return 0
    return n + countdownSum(n - 1)
}

Di dalam main:

println(countdownSum(4))

Pemanggilan fungsi menjumlahkan empat, tiga, dua, dan satu, lalu berhenti di nol.

Rekursi membutuhkan kasus dasar yang dapat dicapai dan kemajuan menuju kasus tersebut.

challenge icon

Tantangan

Sedang

Lengkapi recursiveSum dengan parameter number: Int. Dengan menggunakan rekursi, kembalikan jumlah dari 1 hingga number. number berada di antara 0 dan 100. Hasil untuk nol adalah nol.

Kecuali jika batas yang lebih ketat disebutkan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen bilangan bulat serta nilai koleksi bilangan bulat berada di antara -1000 dan 1000. Teks yang diberikan untuk parsing dapat berisi representasi yang tidak valid atau di luar rentang seperti yang dijelaskan.

Kembalikan nilai bertipe Int. Pertahankan kode input/output yang disediakan. Kode tersebut membaca argumen skalar, satu per baris; list dimulai dengan jumlah elemennya, lalu diikuti elemen-elemennya, dan map dimulai dengan jumlah entrinya, lalu diikuti setiap key dan value. List bertingkat mengulangi format jumlah-elemen dan elemen untuk setiap baris. main yang disediakan mencetak nilai yang dikembalikan, lalu satu karakter baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan mencetak label tambahan.

Coba sendiri

fun recursiveSum(number: Int): Int {
    // Tulis solusimu di sini.
    return 0
}
fun main() {
    val number = readln().toInt()
    println(recursiveSum(number))
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika & Alur

Latihan sendiri: Playground Kotlin