Šajā programmā jūs iemācīsities atrast dabiskā skaitļa summu, izmantojot rekursiju Kotlinā. Tas tiek darīts ar rekursīvas funkcijas palīdzību.
Pozitīvie skaitļi 1, 2, 3… ir pazīstami kā dabiskie skaitļi. Zemāk redzamā programma ņem no lietotāja pozitīvu veselu skaitli un aprēķina summu līdz dotajam skaitlim.
Izmantojot cilpu, varat atrast arī dabisko skaitļu summu. Tomēr šeit iemācīsities atrisināt šo problēmu, izmantojot rekursiju.
Piemērs: Dabisko skaitļu summa, izmantojot rekursiju
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 )
Palaidot programmu, izeja būs:
Summa = 210
Numurs, kura summa ir atrodama, tiek saglabāts mainīgā skaitā.
Sākotnēji addNumbers()
tiek izsaukts no main()
funkcijas ar argumentu 20.
Rezultātam tiek pievienots skaitlis (20) addNumbers(19)
.
Nākamajā funkcijas izsaukumā no addNumbers()
līdz addNumbers()
tiek nodots 19, kas tiek pievienots rezultātam addNumbers(18)
. Šis process turpinās, līdz skaitlis ir vienāds ar 0.
Ja num ir vienāds ar 0, rekurzīvā zvana nav, un main()
funkcija funkcijai atgriež veselu skaitļu summu .
Šeit ir ekvivalents Java kods: Java programma dabisko skaitļu summas atrašanai, izmantojot rekursiju