Definitions

   The factorial of   0   (zero)   is defined as being   1   (unity).
   The   Factorial Function   of a positive integer,    n,    is defined as the product of the sequence:
                 n,   n-1,   n-2,   ...   1 



Task

Write a function to return the factorial of a number.

Solutions can be iterative or recursive.

Support for trapping negative    n    errors is optional.



Related task

   Primorial numbers


// recursive
function factorialr n
    if n < 2 then 
        return 1
    else
        return n * factorialr(n-1)
    end if
end factorialr
 
// using accumulator
function factorialacc n acc
    if n = 0 then
        return acc
    else
        return factorialacc(n-1, n * acc)
    end if
end factorialacc
 
function factorial n
    return factorialacc(n,1)
end factorial
 
// iterative
function factorialit n
    put 1 into f
    if n > 1 then 
        repeat with i = 1 to n
            multiply f by i
        end repeat
    end if
    return f
end factorialit