/* File: fattiter.c */
/* Time-stamp: "2002-03-24 22:49:05 calvanes" */
/* Scopo: cicli definiti */

/* Calcola il fattoriale di un intero nonnegativo.
   Si ricorda che il fattoriale n! e' definito come:

     n! = n * (n-1) * (n-2) * ... * 3 * 2
*/


#include <stdio.h>

int main(void)
  /* Calcolo del fattoriale di un intero nonnegativo. */
{
  int n;
  long fatt;  /* si utilizza il tipo long in quanto il fattoriale cresce molto
                 velocemente */


  printf("Inserire un intero >= 0: ");
  scanf("%d", &n);

  if (n >= 0) {
    printf("Il fattoriale di %d e` ", n);
    fatt = 1;
    while (n > 1) {
      fatt = fatt * n;
      n--;
    }
    printf("%ld\n", fatt);
  }
  else
    printf("Il numero deve essere nonnegativo.\n");

  return 0;
}