From 8d670952f0b8ed414fc2c60d44497ad178ebc1fd Mon Sep 17 00:00:00 2001 From: sTranaeus Date: Wed, 18 Oct 2017 22:53:42 +0100 Subject: [PATCH] Added factorial script. --- Patterns/factorial.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Patterns/factorial.py diff --git a/Patterns/factorial.py b/Patterns/factorial.py new file mode 100644 index 0000000..4dd504f --- /dev/null +++ b/Patterns/factorial.py @@ -0,0 +1,24 @@ +""" +Script containing basic factorial algorithm. + +Function uses recursion to find factorial of n. +Given a function f(n) that returns the factorial of a number: +Base case: f(0) = 1 and f(1) = 1 +Recursive case: if n > 1, then f(n) = f(n-1)*n + +For further reading: http://www.purplemath.com/modules/factorial.htm +https://www.khanacademy.org/computing/computer-science/algorithms/recursive-algorithms/a/recursive-factorial +Advanced: https://en.wikipedia.org/wiki/Factorial +""" + + +def nfactorial(n): + n = int(n) + if n == 0 or n == 1: + return 1 + if n > 1: + return nfactorial(n - 1) * n + + +n = input('Give n ---> ') +print(nfactorial(n))