Ebben a programban megtanulja megtalálni és megjeleníteni egy szám faktoriálját a Java rekurzív függvényével.
A példa megértéséhez ismernie kell a következő Java programozási témákat:
- Java módszerek
- Java rekurzió
Az n pozitív szám tényezőjét a következő adja meg:
n (n!) = 1 * 2 * 3 * 4 *… * n tényező
A negatív szám tényezője nem létezik. A 0 faktoriális értéke 1.
Ebben a példában megtanulja megtalálni a szám faktoriáját a rekurzió segítségével. Látogasson el erre az oldalra, hogy megtudja, hogyan találhatja meg a szám tényezőjét a hurok segítségével.
Példa: Rekurziót használó szám tényezője
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; ) )
Kimenet
6-os tényező = 720
Kezdetben multiplyNumbers()
a main()
függvényből hívják meg, argumentumként 6- at adva át.
Mivel a 6 nagyobb vagy egyenlő 1-vel, a 6-ot megszorozzuk az multiplyNumbers()
5 (num -1) átadásának eredményével . Mivel ugyanabból a funkcióból hívják, rekurzív hívásról van szó.
Minden rekurzív hívás során a num argumentum értéke 1-vel csökken, amíg a num el nem éri az 1-t.
Ha a num értéke kisebb, mint 1, nincs rekurzív hívás.
És minden rekurzív hívás visszaadja:
6 * 5 * 4 * 3 * 2 * 1 * 1 (0 esetén) = 720