Kotlinov program za pronalaženje faktorijela broja pomoću rekurzije

U ovom programu naučit ćete pronaći i prikazati faktorijel broja pomoću rekurzivne funkcije u Kotlinu.

Faktorijal pozitivnog broja n daje:

 faktorijel od n (n!) = 1 * 2 * 3 * 4 * … * n

Faktorijal negativnog broja ne postoji. A faktor 0 je 1.

U ovom ćete primjeru naučiti pronaći faktorijel broja pomoću rekurzije. Posjetite ovu stranicu da biste saznali kako možete pronaći faktorijel broja pomoću petlje.

Primjer: Faktorijal broja pomoću rekurzije

 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 )

Kada pokrenete program, izlaz će biti:

 Faktorijal od 6 = 720

U početku multiplyNumbers()se main()funkcija poziva s funkcijom 6 koja se prosljeđuje kao argument.

Budući da je 6 veće ili jednako 1, 6 se množi do rezultata multiplyNumbers()gdje se prolazi 5 (broj -1). Budući da se poziva iz iste funkcije, to je rekurzivni poziv.

U svakom rekurzivnom pozivu vrijednost argumenta num smanjuje se za 1 dok num ne dosegne manje od 1.

Kad je vrijednost num manja od 1, nema rekurzivnog poziva.

I svaki se rekurzivni poziv vraća dajući nam:

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

Evo ekvivalentnog Java koda: Java program za pronalaženje faktora pomoću rekurzije

Zanimljivi članci...