Selles programmis õpite leidma loodusliku arvu summa Kotlinis rekursiooni abil. Seda tehakse rekursiivse funktsiooni abil.
Positiivsed arvud 1, 2, 3… on tuntud kui looduslikud arvud. Allpool olev programm võtab kasutajalt positiivse täisarvu ja arvutab summa antud numbrini.
Naturaalsete arvude summa leiate ka loopi abil. Küll aga õpite siin rekursiooni abil seda probleemi lahendama.
Näide: looduslike arvude summa rekursiooni abil
fun main(args: Array) ( val number = 20 val sum = addNumbers(number) println("Sum = $sum") ) fun addNumbers(num: Int): Int ( if (num != 0) return num + addNumbers(num - 1) else return num )
Programmi käivitamisel on väljund järgmine:
Summa = 210
Number, mille summa leitakse, salvestatakse muutuja numbriks.
Esialgu addNumbers()
kutsutakse main()
funktsiooni funktsioonist, mille argumendiks on 20.
Tulemile lisatakse arv (20) addNumbers(19)
.
Järgmise funktsiooni kõne addNumbers()
kuni addNumbers()
19 lastakse mis on lisatud tulemus addNumbers(18)
. See protsess kestab seni, kuni arv on võrdne 0-ga.
Kui arv on võrdne 0-ga, rekursiivset kõnet ei toimu ja see tagastab main()
funktsioonile täisarvude summa .
Siin on samaväärne Java-kood: Java-programm looduslike arvude summa leidmiseks rekursiooni abil