fork download
  1. from time import clock
  2.  
  3. def rev(n): # iterative
  4. r = 0
  5. while n > 0:
  6. r = r * 10 + n % 10
  7. n = n // 10
  8. return r
  9.  
  10. print "iterative:"
  11. start = clock()
  12. count = 0
  13. for n in xrange(100000):
  14. if n == rev(n):
  15. count += 1
  16. print count
  17. print (clock() - start) * 1000
  18.  
  19. def rev(n, r=0): # recursive
  20. if n == 0: return r
  21. return rev(n // 10, r*10 + n%10)
  22.  
  23. print ""
  24. print "recursive:"
  25. start = clock()
  26. count = 0
  27. for n in xrange(100000):
  28. if n == rev(n):
  29. count += 1
  30. print count
  31. print (clock() - start) * 1000
  32.  
  33. def rev(n): # convert to string
  34. return int("".join(reversed(str(n))))
  35.  
  36. print ""
  37. print "convert to string:"
  38. start = clock()
  39. count = 0
  40. for n in xrange(100000):
  41. if n == rev(n):
  42. count += 1
  43. print count
  44. print (clock() - start) * 1000
Success #stdin #stdout 0.82s 8968KB
stdin
Standard input is empty
stdout
iterative:
1099
184.628

recursive:
1099
265.007

convert to string:
1099
354.793