C Program a rekurzió használatával egy szám tényezőjére

Ebben a példában megtanulja megtalálni a felhasználó által rekurzióval beírt nem negatív egész szám faktorszámát.

A példa megértéséhez ismernie kell a következő C programozási témákat:

  • C Funkciók
  • C Felhasználó által definiált funkciók
  • C Rekurzió

Az n pozitív szám tényezőjét a következő adja meg:

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

A negatív szám tényezője nem létezik. És faktoriálisát 0van 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 egy szám tényezőjét egy hurok segítségével.

Rekurziót használó szám tényezője

#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; ) 

Kimenet

Adjon meg pozitív egész számot: 6 6 = 720 tényező 

Tegyük fel, hogy a felhasználó megadta a 6 értéket.

Kezdetben 6-ról multiplyNumbers()hívják meg main()argumentumként.

Ezután 5 átkerül multiplyNumbers()ugyanarról a funkcióról (rekurzív hívás). Minden rekurzív hívásban az n argumentum értéke 1-gyel csökken.

Ha n értéke 1-nél kisebb, akkor nincs rekurzív hívás, és a faktoriális visszatér végül a main()függvényhez.

érdekes cikkek...