Factorial

From Rosetta Code
Revision as of 02:20, 17 August 2008 by 219.77.140.150 (talk) (created page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Task
Factorial
You are encouraged to solve this task according to the task description, using any language you may know.

The Factorial Function is the product of a sequence n, n-1, n-2...1 starting at the input number to the function.

Write a function to factorialise a number. Solutions can be iterative or recursive (though recursive solutions are generally considered too slow and are mostly used as an exercise in recursion). Support for negative n errors is optional.

References

Wikipedia

Python

Iterative

<python>def factorial(n):

   z=n
   while n>1:
       n=n-1
       z=z*n
   return z

</python>

Recursive

<python>def factorial(n):

   z=1
   if n>1:
       z=n*factorial(n-1)
   return z