我是Python新手,想知道遞歸是否可以工作。我無法讓我的代碼運行。它應該打印所有斐波那契數字:Python中的斐波那契數列計算有什麼問題?
#!/usr/bin/python
import time, sys
def calc_fib_num(n):
if (n >= 2):
return calc_fib_num(n-1) + calc_fib_num(n-2)
elif (n == 1):
return 1
else:
return 0
print "0",
print "1",
for n in range(2,20):
fib_num = calc_fib_num(n)
print fib_num
好像它應該工作(雖然緩慢)。觀察到的輸出是什麼? – inspectorG4dget
它根本沒有運行,或者只是永遠持續?您使用的是指數時間算法(它會將每個值重複計算瘋狂的次數),因此預計會花費地質時間表來完成。 – user2357112
http://docs.python.org/2/tutorial/introduction.html#first-steps-towards-programming – mata