Izračunali bomo z rekurzivno formulo .
#include<stdio.h>
long Fakt(int a); /*prototip*/
void main(void) {
int n;
printf("Za katero naravno število naj računa faktorelo:\n");
scanf("%d", &n);
printf("%d! =%ld \n", n, Fakt(n));
} /* main */
long Fakt(int a) { /* resnična funkcija */
long c; /* rezultat funkcije */
if (n < 2) /* samo za 0!=1 in 1!=1*/
c= 1;
else
c= n * Fakt(n-1); /* n! = n * ((n-1)!) */
return c; /* vrne kar je funkcija izračunala */
} /* Fakt */
Funkcijo Fakt lahko zapišemo krajše. recimo:
long Fakt(int a) { /* resnična funkcija */
return ((n < 2)? 1: n*FAKT(n-1));
} /* Fakt */