Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/data/math/factorial
blob: cdbd7533bb2554e1dd926b24c8dd8907abe780c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#we import the library containing functions for time measurement 
import timeit
# inicializamos el timer
t = timeit.Timer()

#we define a factor 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

#we define a factor 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):
	time = t.timeit()	
	if type == 0:
		type_s = "recursive"
		result = factorial_recursive(number)
	else:
		type_s = "iterative"
		result = factorial_iterative(number)
	delta = abs(t.timeit() - time)
	print "Type: " , type_s  ,  " in: ", 1/delta

#we ask for a number to factorice
number = input("Please imput a number:")
print "Calculating..."
calculate(number,0)
calculate(number,1)