V tem primeru se boste naučili poiskati faktorijel negativnega celega števila, ki ga je uporabnik vnesel z uporabo rekurzije.
Če želite razumeti ta primer, morate poznati naslednje teme programiranja C:
- C Funkcije
- C Uporabniško določene funkcije
- C Rekurzija
Faktorial pozitivnega števila n je podan z:
factorial of n (n!) = 1 * 2 * 3 * 4 *… * n
Faktor negativnega števila ne obstaja. In faktorijel 0
je 1
.
V tem primeru se boste naučili iskati faktorje številke z uporabo rekurzije. Obiščite to stran, če želite izvedeti, kako lahko z zanko poiščete faktorje številke.
Faktorij števila z uporabo rekurzije
#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; )
Izhod
Vnesite pozitivno celo število: 6 Factorial of 6 = 720
Recimo, da je uporabnik vnesel 6.
Sprva multiplyNumbers()
je bil poklican iz main()
s 6, ki je bil poslan kot argument.
Nato se multiplyNumbers()
iz iste funkcije (rekurzivni klic) prenese na 5 . V vsakem rekurzivnem klicu se vrednost argumenta n zmanjša za 1.
Ko je vrednost n manjša od 1, ni rekurzivnega klica in faktorijel se na koncu vrne v main()
funkcijo.