回答編集履歴

1

見やすく編集

2016/10/26 13:11

投稿

hiim
hiim

スコア1689

test CHANGED
@@ -16,58 +16,42 @@
16
16
 
17
17
  ```
18
18
 
19
+ $argが3の時をシュミレートすると
19
20
 
21
+ sample(3)
20
22
 
21
- $argが3の時シュミレートると
23
+ は3+sample(2)
24
+
25
+ では
26
+
27
+ sample(2)
28
+
29
+ は2+sample(1)を返す
30
+
31
+ 最後に
32
+
33
+ sample(1)
34
+
35
+ は1を返す
22
36
 
23
37
 
24
38
 
25
- return($arg + sample($arg -1));
39
+ つまり数学の式みたいに考えると
26
40
 
27
- が実行される
41
+ sample(3) = 3+sample(2)
28
42
 
29
- これは
43
+ sample(2) = 2+sample(1)
30
44
 
31
- 3+sample(2)
45
+ sample(1) = 1
32
46
 
33
- なわけですよね?
47
+ それぞれ代入していくと
48
+
49
+ sample(3) = 6
50
+
51
+ という結果が得られるという仕組みです。
34
52
 
35
53
 
36
54
 
37
- 次に
38
-
39
- $argが2の時
40
-
41
- return($arg + sample($arg -1));
42
-
43
- が実行される
44
-
45
- これは
46
-
47
- 2+sample(1)
48
-
49
- なわけですよね?
50
55
 
51
56
 
52
57
 
53
- 次に
54
-
55
- $argが1の時
56
-
57
- return(1);
58
-
59
- が実行される。
60
-
61
-
62
-
63
- これ以上sampleは再起的に呼ばれない
64
-
65
- sample(1)は1を返す
66
-
67
- sample(2)は2+sample(1)を返すが上行から2+sample(1)=3
68
-
69
- sample(3)は3+sample(2)を返すが上行から3+sample(2)=6
70
-
71
-
72
-
73
- で結局$argが3の時は6が得られるという仕組みです