/* File: fattoria.c */ /* Time-stamp: "2001-03-26 02:44:58 calvanes" */ /* Scopo: primo esempio di funzione ricorsiva con valore di ritorno */ /* Funzione ricorsiva che calcola il fattoriale di un intero nonnegativo Si ricorda che il fattoriale n! e' definito come: n! = 1 se n = 0 n! = n*(n-1)! se n > 0 */ #include <stdio.h> long fattoriale(long n) /* Calcola il fattoriale di un intero nonnegativo. Si utilizza il tipo long in quanto il fattoriale cresce molto velocemente. */ { if (n < 0) return -1; /* Fattoriale non e` definito per interi negativi! */ if (n == 0) return 1; else return n * fattoriale(n-1); } int main(void) { long n; printf("Inserire un intero >= 0: "); scanf("%ld", &n); printf("Il fattoriale di %ld e` %ld\n", n, fattoriale(n)); return 0; }