C Program za pronalaženje faktorijela broja pomoću rekurzije

U ovom ćete primjeru naučiti pronaći faktorijel negativnog cijelog broja koji je korisnik unio uporabom rekurzije.

Da biste razumjeli ovaj primjer, trebali biste imati znanje sljedećih C programskih tema:

  • C Funkcije
  • C Korisnički definirane funkcije
  • C Rekurzija

Faktorijal pozitivnog broja n daje:

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

Faktorijal negativnog broja ne postoji. A faktorijel 0je 1.

U ovom ćete primjeru naučiti pronaći faktorijel broja pomoću rekurzije. Posjetite ovu stranicu da biste saznali kako možete pronaći faktorijel broja pomoću petlje.

Faktorijal broja koji koristi rekurziju

#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; ) 

Izlaz

Unesite pozitivan cijeli broj: 6 Factorial od 6 = 720 

Pretpostavimo da je korisnik upisao 6.

U početku multiplyNumbers()se poziva main()s brojem 6 kao argument.

Zatim se multiplyNumbers()iz iste funkcije (rekurzivni poziv) prenosi na 5 . U svakom rekurzivnom pozivu vrijednost argumenta n smanjuje se za 1.

Kada je vrijednost n manja od 1, nema rekurzivnog poziva i faktorijel se na kraju vraća main()funkciji.

Zanimljivi članci...