V tomto programe sa naučíte nájsť súčet prirodzeného čísla pomocou rekurzie v Kotline. To sa deje pomocou rekurzívnej funkcie.
Kladné čísla 1, 2, 3… sú známe ako prirodzené čísla. Program uvedený nižšie vezme od používateľa kladné celé číslo a vypočíta súčet až po dané číslo.
Súčet prirodzených čísel nájdete aj pomocou slučky. Tu sa však naučíte vyriešiť tento problém pomocou rekurzie.
Príklad: Súčet prirodzených čísel pomocou rekurzie
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 )
Po spustení programu bude výstup:
Súčet = 210
Číslo, ktorého súčet sa má nájsť, je uložené v premennom čísle.
Spočiatku addNumbers()
sa volá z main()
funkcie, keď sa ako argument predalo 20.
Číslo (20) sa pripočíta k výsledku addNumbers(19)
.
V nasledujúcom volaní funkcie od addNumbers()
do addNumbers()
je odovzdané 19, ktoré sa pripočítajú k výsledku addNumbers(18)
. Tento proces pokračuje, kým sa num nerovná 0.
Keď je num rovné 0, neexistuje rekurzívne volanie a main()
funkcia vráti súčet celých čísel .
Tu je ekvivalentný kód Java: Program Java na vyhľadanie súčtu prirodzených čísel pomocou rekurzie