#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>

int
fact (int n)
{
  int r = 1;
  int i;
  for (i = 1; i <= n; i ++)
    r = r * i;
  return r;
}

void
test (int n)
{
  /* Une autre version alternative, qui marche: */
  /* printf ("%i! = %i\n", n, fact (n)); */
  printf ("%i", n);
  printf ("! = ");
  printf ("%i", fact (n));
  printf ("\n");
}

int
main (void)
{
  test (0);
  test (1);
  test (5);
  test (10);
  /*
  printf ("%i\n", fact (0));
  printf ("%i\n", fact (1));
  printf ("%i\n", fact (5));
  printf ("%i\n", fact (10));
  */
  return 0;
}
