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
ZnJvbSB0aW1lIGltcG9ydCBjbG9jawoKZGVmIHJldihuKTogIyBpdGVyYXRpdmUKCXIgPSAwCgl3aGlsZSBuID4gMDoKCQlyID0gciAqIDEwICsgbiAlIDEwCgkJbiA9IG4gLy8gMTAKCXJldHVybiByCgpwcmludCAiaXRlcmF0aXZlOiIKc3RhcnQgPSBjbG9jaygpCmNvdW50ID0gMApmb3IgbiBpbiB4cmFuZ2UoMTAwMDAwKToKICAgIGlmIG4gPT0gcmV2KG4pOgogICAgICAgIGNvdW50ICs9IDEKcHJpbnQgY291bnQKcHJpbnQgKGNsb2NrKCkgLSBzdGFydCkgKiAxMDAwCgpkZWYgcmV2KG4sIHI9MCk6ICMgcmVjdXJzaXZlCiAgICBpZiBuID09IDA6IHJldHVybiByCiAgICByZXR1cm4gcmV2KG4gLy8gMTAsIHIqMTAgKyBuJTEwKQoKcHJpbnQgIiIKcHJpbnQgInJlY3Vyc2l2ZToiCnN0YXJ0ID0gY2xvY2soKQpjb3VudCA9IDAKZm9yIG4gaW4geHJhbmdlKDEwMDAwMCk6CiAgICBpZiBuID09IHJldihuKToKICAgICAgICBjb3VudCArPSAxCnByaW50IGNvdW50CnByaW50IChjbG9jaygpIC0gc3RhcnQpICogMTAwMAoKZGVmIHJldihuKTogIyBjb252ZXJ0IHRvIHN0cmluZwoJcmV0dXJuIGludCgiIi5qb2luKHJldmVyc2VkKHN0cihuKSkpKQoKcHJpbnQgIiIKcHJpbnQgImNvbnZlcnQgdG8gc3RyaW5nOiIKc3RhcnQgPSBjbG9jaygpCmNvdW50ID0gMApmb3IgbiBpbiB4cmFuZ2UoMTAwMDAwKToKICAgIGlmIG4gPT0gcmV2KG4pOgogICAgICAgIGNvdW50ICs9IDEKcHJpbnQgY291bnQKcHJpbnQgKGNsb2NrKCkgLSBzdGFydCkgKiAxMDAw