#include unsigned int fattoriale (unsigned int a) { if (a == 1) { return 1; } else /* Altrimenti il fattoriale viene calcolato come prodotto tra il numero stesso ed il fattoriale del numero precedente, fino ad 1 */ { a = a* fattoriale (a-1); /*chiamata ricorsiva */ } return a; } main ( ) { /*Variabili */ unsigned int f, x; /* Lettura del valore da elaborare */ printf ("Inserire il numero (compreso tra 1 e 7): "); scanf ("%d", &x); if (x>7 || x<1) printf ("Solo i valori compresi tra 1 e 7 sono accettabili"); else /* Richiamo della function ricorsiva per il calcolo del fattoriale */ f = fattoriale (x); printf ("%u ! vale %u \n", x, f); getch(); // Variazione in C++ }