標題:
2022/01/02 利用遞迴+動態規劃計算費式數列
[打印本頁]
作者:
ray
時間:
2022-1-2 14:48
標題:
2022/01/02 利用遞迴+動態規劃計算費式數列
使用global來存取一個全域的解答陣列
大幅降低重複計算的次數
作者:
劉愷威
時間:
2022-1-2 14:49
本帖最後由 劉愷威 於 2022-1-2 15:02 編輯
import time
s = [-1]*100
def f(n):
global s
if s[n] == -1:
if n < 2:
s[n] = n
return s[n]
s[n] = f(n-2) + f(n-1)
return s[n]
else:
return s[n]
try:
while True:
x = int(input())
start = time.time()
print(f(x))
end = time.time()
print(end-start)
except EOFError:
pass
複製代碼
作者:
劉愷鈞
時間:
2022-1-2 15:00
s=[1]*50
def f(n):
global s
if s[n] == 1:
if n < 2:
s[n] == n
return s[n]
s[n]=f(n-2)+f(n-1)
return s[n]
else:
return s[n]
a=int(input())
print(f(a))
複製代碼
作者:
李知易
時間:
2022-1-2 15:01
import time
s = [-1]*50
def x(n):
global s
if s[n] == -1:
if n < 2:
s[n] = n
return s[n]
s[n] = x(n-1) + x(n-2)
return s[n]
else:
return s[n]
try:
while True:
a = int(input())
start = time.time()
print(x(a))
end = time.time()
print(end - start)
except:
pass
複製代碼
作者:
劉愷恩
時間:
2022-1-2 15:04
s=[-1]*50
def f(n):
global s
if s[n]==-1:
if n<2:
s[n]=n
return s[n]
else:
s[n]=f(n-2)+f(n-1)
return s[n]
else:
return s[n]
try:
while True:
a=int(input())
print(f(a))
except:
pass
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2