from time import clock

def a(n):
    return n + 1

def b1(loopcount):
    return sum([a(n) for n in range(loopcount)])

def b2(loopcount):
    def a(n):
        return n + 1
    return sum([a(n) for n in range(loopcount)])
    
def b3(loopcount):
    global a
    la = a
    return sum([la(n) for n in range(loopcount)])

powers = [5, 6, 7]
b1times = []
b2times = []
b3times = []
print "   ", "".join(["{:^10d}".format(n) for n in powers])    
for i in range(5):
    for power in powers:
        t = clock()
        b1(10**power)
        b1times.append(clock() - t)
    for power in powers:
        t = clock()
        b2(10**power)
        b2times.append(clock() - t)
    for power in powers:
        t = clock()
        b3(10**power)
        b3times.append(clock() - t)
    print "b1:", "".join(["{:^10.5f}".format(n) for n in b1times])
    print "b2:", "".join(["{:^10.5f}".format(n) for n in b2times])
    print "b3:", "".join(["{:^10.5f}".format(n) for n in b3times])
    print ""
    b1times = []
    b2times = [] 
    b3times = [] 