Advertisement
Haulien

Fibonacci Generator

Oct 31st, 2011
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.49 KB | None | 0 0
  1.  
  2. import time
  3.  
  4. def fib(n):
  5.     try:
  6.        
  7.         if n < 2:
  8.             return n
  9.         prev = 1
  10.         fib = 1
  11.         for num in range(2, n):
  12.             prev, fib = fib, fib + prev
  13.             #print str(fib) + ", " #remove the hash at the start of this if you want to print each number after generation
  14.        
  15.         print "\n\nFibonacci " + str(n) + ": \n\n" + str(fib)
  16.        
  17.         print "\n\nAmount of digits: " + str(len(str(fib)))
  18.        
  19.        
  20.     except KeyboardInterrupt:
  21.         print ""        #just used to catch ctrl+c (terminate) on unix-systems
  22.  
  23.  
  24.  
  25.  
  26. try:
  27.  
  28.     howMany = long(raw_input("How many fibonacci numbers would you like generated?\nA Max of 100000 is recommended!\nAnything larger can freeze your system until it is generated\n\nInput your number: "))
  29.  
  30.     start = time.time()
  31.     fib(howMany)
  32.     elapsed = (time.time() - start)
  33.    
  34. except ValueError:
  35.     print "\n\nPlease enter a number\n\n"
  36. except KeyboardInterrupt:
  37.     print ""
  38.     #just used to catch ctrl+c (terminate) on unix-systems
  39.    
  40.  
  41. minutes = elapsed/60
  42. hours = minutes/60
  43. days = hours/24
  44. weeks = days/7
  45. years = days/365
  46.  
  47. print "\n\nTime elapsed (seconds): " + str(elapsed) + "s"
  48. print "Time elapsed (mins): " + str((minutes)) + "m"
  49. print "Time elapsed (hours): " + str((hours)) + "h"
  50. print "Time elapsed (days): " + str((days)) + "d"
  51. print "Time elapsed (weeks): " + str((weeks)) + "w"
  52. print "Time elapsed (years): " + str((years)) + "y\n\n"
  53.  
  54.  
  55. print "\n\nGoodbye\n\n"
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement