###質問
フィボナッチ数列において101番目の数字を動的計画法を用いて求めることにしたのですが、メモリストdpの要素数がnだと動かないのはなぜでしょうか。
###該当のソースコード
Python
1n = int(input()) #n = 100を考える 2dp = [-1 for i in range(n+1)] # range(n)だと動かない 3 4def fib_dp(n): #解答が出る 5 if n == 0: 6 rec = 0 7 elif n == 1: 8 rec = 1 9 elif dp[n] != -1: 10 return dp[n] 11 else: 12 rec = fib_dp(n-1) + fib_dp(n-2) 13 dp[n] = rec 14 return rec 15 16def fib(n): #タイムアウトする 17 if n == 0: 18 return 0 19 elif n == 1: 20 return 1 21 else: 22 return fib(n-1) + fib(n-2) 23 24print(fib_dp(n))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。