Kotlini programm rekursiooni abil arvu faktori leidmiseks

Selles programmis õpite Kotlini rekursiivse funktsiooni abil leidma ja kuvama numbri faktori.

Positiivse arvu n faktoriaal arvutatakse järgmiselt:

 faktori väärtus n (n!) = 1 * 2 * 3 * 4 *… * n

Negatiivse arvu faktoori pole olemas. Ja 0 tegur on 1.

Selles näites leiate rekursiooni abil numbri faktori leidmise. Külastage seda lehte, et teada saada, kuidas leiate arvu faktoori silmuse abil.

Näide: rekursiooni kasutava arvu faktoriaal

 fun main(args: Array) ( val num = 6 val factorial = multiplyNumbers(num) println("Factorial of $num = $factorial") ) fun multiplyNumbers(num: Int): Long ( if (num>= 1) return num * multiplyNumbers(num - 1) else return 1 )

Programmi käivitamisel on väljund järgmine:

 Faktor 6 = 720

Esialgu multiplyNumbers()kutsutakse main()funktsiooni funktsioonist, mille argumendiks on 6.

Kuna 6 on suurem või võrdne 1, korrutatakse väärtus 6 tulemiga, multiplyNumbers()kus 5 (num -1) on läbitud. Kuna seda kutsutakse samast funktsioonist, on see rekursiivne kõne.

Igas rekursiivses kõnes vähendatakse argumendi num väärtust 1 võrra, kuni arv jõuab alla 1.

Kui numbri väärtus on väiksem kui 1, rekursiivset kõnet ei toimu.

Iga rekursiivne kõne tagastab meile järgmise teabe:

 6 * 5 * 4 * 3 * 2 * 1 * 1 (0 puhul) = 720

Siin on samaväärne Java-kood: Java-programm rekursiooni abil faktori leidmiseks

Huvitavad Artiklid...