diff options
Diffstat (limited to 'data/math/factorial')
-rw-r--r-- | data/math/factorial | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/data/math/factorial b/data/math/factorial new file mode 100644 index 0000000..42731d6 --- /dev/null +++ b/data/math/factorial @@ -0,0 +1,34 @@ +import time + +# define a factorial function in recursive flavor +def factorial_recursive(number): + result = 1 + if n > 0: + result = n * factorial_recursive(number-1) + print "factorizing: ", number, " result: ", result + return result + +# define a factorial function in iterative flavor +def factorial_iterative(number): + result = 1 + for i in range(1, number+1): + result = result * i + print "factorizing: ", i, " result: ", result + return result + +def calculate(number, type): + start = time.time() + if type == 0: + type_s = "recursive" + result = factorial_recursive(number) + else: + type_s = "iterative" + result = factorial_iterative(number) + delta = time.time() - start + print "Type: ", type_s, " in: ", 1/delta + +# ask for a number to factorize +number = input("Please input a number:") +print "Calculating..." +calculate(number, 0) +calculate(number, 1) |