from time import clock

def rev(n): # iterative
	r = 0
	while n > 0:
		r = r * 10 + n % 10
		n = n // 10
	return r

print "iterative:"
start = clock()
count = 0
for n in xrange(100000):
    if n == rev(n):
        count += 1
print count
print (clock() - start) * 1000

def rev(n, r=0): # recursive
    if n == 0: return r
    return rev(n // 10, r*10 + n%10)

print ""
print "recursive:"
start = clock()
count = 0
for n in xrange(100000):
    if n == rev(n):
        count += 1
print count
print (clock() - start) * 1000

def rev(n): # convert to string
	return int("".join(reversed(str(n))))

print ""
print "convert to string:"
start = clock()
count = 0
for n in xrange(100000):
    if n == rev(n):
        count += 1
print count
print (clock() - start) * 1000