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)
