#!/usr/bin/perl

sub silnia {
    my ($n, $wynik) = (shift, 1);

    # Liczby niecalkowite wymagaja uzycia funkcji gamma,
    # ktora zostanie przedstawiona w dalszej czesci rozdzialu.
    return undef unless $n >= 0 and $n == int($n);

    $wynik *= $n-- while $n > 1;
    return $wynik;
}
