回答編集履歴

1

Update

2022/05/12 04:54

投稿

melian
melian

スコア19840

test CHANGED
@@ -3,13 +3,11 @@
3
3
  ※ 以下は再帰関数を使用しますが、計算結果をキャッシュする方法です
4
4
  ```python
5
5
  def recurrence(n):
6
- if n in recurrence.cache:
7
- return recurrence.cache[n]
8
-
9
6
  if n == 1:
10
7
  result = 0.6
11
8
  else:
12
- result = 3.5*(1-recurrence(n-1))*recurrence(n-1)
9
+ m = recurrence.cache.get(n-1) or recurrence(n-1)
10
+ result = 3.5*(1-m)*m
13
11
 
14
12
  recurrence.cache[n] = result
15
13
  return result
@@ -18,6 +16,6 @@
18
16
  recurrence.cache = {}
19
17
 
20
18
  for i in range(1,100):
21
- print(i,recurrence(i))
19
+ print(i, recurrence(i))
22
20
  ```
23
21