#include
int main ()
{
printf ("%d\n", fak ( 5 ));
}
int fak ( int n )
{
if (n<2)
return 1;
return n * fak (n-1);
}
===== Fortran =====
PROGRAM fak_calc
write (*,*) fak (5)
END
recursive function fak ( i ) result(zerg)
if ( i .LT. 2 ) then
zerg = 1
return
endif
zerg = fak(i-1) * i;
return
END
===== Haskell =====
fak :: Int -> Int
fak a
| a <2 = 1
| otherwise = a * fak (a-1)
main :: IO()
main = print (fak 5)