Programma C per trovare fattoriale di un numero utilizzando la ricorsione

In questo esempio imparerai a trovare il fattoriale di un numero intero non negativo inserito dall'utente utilizzando la ricorsione.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione in C:

  • Funzioni C.
  • C Funzioni definite dall'utente
  • Ricorsione C.

Il fattoriale di un numero positivo n è dato da:

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

Il fattoriale di un numero negativo non esiste. E il fattoriale di 0è 1.

Imparerai a trovare il fattoriale di un numero usando la ricorsione in questo esempio. Visita questa pagina per scoprire come trovare il fattoriale di un numero utilizzando un ciclo.

Fattoriale di un numero utilizzando la ricorsione

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

Produzione

Immettere un numero intero positivo: 6 Fattoriale di 6 = 720 

Supponiamo che l'utente abbia inserito 6.

Inizialmente, multiplyNumbers()viene chiamato da main()con 6 passato come argomento.

Quindi, 5 viene passato a multiplyNumbers()dalla stessa funzione (chiamata ricorsiva). In ogni chiamata ricorsiva, il valore dell'argomento n viene diminuito di 1.

Quando il valore di n è minore di 1, non vi è alcuna chiamata ricorsiva e il fattoriale viene infine restituito alla main()funzione.

Articoli interessanti...