Dies ist eine alte Version des Dokuments!


Fakultätsberechnung: mögliche Lösungen

C

#include <stdio.h>
 
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)