Faktoriál je funkce, jejímž argumentem je přirozené číslo n a výstupem je součin všech čísel menších nebo rovných  (v případě 
 je výsledkem 1). Faktoriál čísla 
 se značí 
.
Příklady
Kód
   /**
     * Vypocita faktorial cisla
     * @param number cislo >= 0
     * @return faktorial cisla
     */
    public static int factorial(int number) {
        if (number < 0) throw new IllegalArgumentException("zaporny argument");
        int result = 1;
        for (int i = number; i > 1; i--) {
            result *= i;
        }
        return result;
    }
    /**
     * Vypocita rekurzivne faktorial cisla
     * @param number cislo >=0
     * @return faktorial cisla
     */
    public static int factorialRec(int number) {
        if (number < 0) throw new IllegalArgumentException("zaporny argument");
        if (number == 0 || number == 1) return 1;
        return number * factorialRec(number - 1);
    }
/**
 * Vypocita faktorial vstupniho cisla
 * @param number Vstupni cislo
 * @return Faktorial vstupniho cisla
 * @author Thomas (www.adamjak.net)
 */
int fakt(int number) {
    if (number < 0)
    {
        return 0;
    }
    int i, result = 1;
    for (i = number; i > 1; i--)
    {
        result *= i;
    }
    return result;
}
/**
 * Vypocita faktorial vstupniho cisla rekurzivni formou algoritmu
 * @param $number Vstupni cislo
 * @return Faktorial vstupniho cisla
 * @author Thomas (www.adamjak.net)
 */
int fakt_rek(int number) {
    if (number < 0)
    {
        return 0;
    }
    if (number == 0 || number == 1)
    {
        return 1;
    }
    return number * fakt_rek(number - 1);
}
         /** Autor: Vaclav Kejr */ 
        public long Faktorial(int n)
        {
            try
            {
                long faktor = 1;
                if (n < 1)
                {
                    throw new ArgumentException("Argument n < 1 !", n.ToString());
                }
                else if (n == 1)
                {
                    return faktor = 1;
                }
                else if (n >= 2 && n <= 20)
                {
                    for (int i = 2; i <= n; i++)
                    {
                        faktor *= i;
                    }
                    return faktor;
                }
                else
                {
                    throw new ArgumentException("Argument n > 20 !", n.ToString());
                }
            }
            catch (SystemException ex)
            {
                Console.WriteLine(ex.ToString());
                return -1;
            }
        }
         
         
/**
 * Vypocita faktorial vstupniho cisla
 * @param $number Vstupni cislo
 * @return Faktorial vstupniho cisla
 * @author Thomas (www.adamjak.net)
 */
function faktorial($number) {
    if ($number < 0) {
        die("zaporny argument");
    }
    $result = 1;
    for ($i = $number; $i > 1; $i--) {
        $result *= $i;
    }
    return $result;
}
/**
 * Vypocita faktorial vstupniho cisla rekurzivni formou algoritmu
 * @param $number Vstupni cislo
 * @return Faktorial vstupniho cisla
 * @author Thomas (www.adamjak.net)
 */
function faktorial_rek($number) {
    if ($number < 0) {
        die("zaporny argument");
    }
    if ($number == 0 || $number == 1) {
        return 1;
    }
    return $number * faktorial_rek($number - 1);
}
fact(0,1). fact(N,R) :- N >= 0, integer(N), N1 is N - 1, fact(N1,R1), R is N * R1.
(defun fact (x) "generates factorial of x" (if (= x 0) 1 (* x (fact (- x 1))))) (defun fact2 (x) "generates factorial of x" (if (zerop x) 1 (* x (fact2 (1- x))))) (defun fact3 (x) "generates factorial of x" (cond ((zerop x) 1) (T (* x (fact3 (1- x))))))