Program Java k vyhledání faktoriálu čísla pomocí rekurze

V tomto programu se naučíte najít a zobrazit faktoriál čísla pomocí rekurzivní funkce v Javě.

Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:

  • Metody Java
  • Java rekurze

Faktoriál kladného čísla n je dán vztahem:

 faktoriál n (n!) = 1 * 2 * 3 * 4 * … * n

Faktoriál záporného čísla neexistuje. A faktoriál 0 je 1.

V tomto příkladu se naučíte najít faktoriál čísla pomocí rekurze. Na této stránce se dozvíte, jak najít faktoriál čísla pomocí smyčky.

Příklad: Faktoriál čísla pomocí rekurze

 public class Factorial ( public static void main(String() args) ( int num = 6; long factorial = multiplyNumbers(num); System.out.println("Factorial of " + num + " = " + factorial); ) public static long multiplyNumbers(int num) ( if (num>= 1) return num * multiplyNumbers(num - 1); else return 1; ) )

Výstup

 Faktoriál 6 = 720

Zpočátku multiplyNumbers()se volá z main()funkce s 6 předanými jako argument.

Protože 6 je větší nebo rovno 1, 6 se vynásobí na výsledek, multiplyNumbers()kde je předáno 5 (num -1). Protože se volá ze stejné funkce, jedná se o rekurzivní volání.

V každém rekurzivním volání se hodnota argumentu num sníží o 1, dokud num nedosáhne méně než 1.

Když je hodnota num menší než 1, není rekurzivní volání.

A každé rekurzivní volání se vrací a dává nám:

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

Zajímavé články...