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