質問編集履歴
3
内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,29 +1,39 @@
|
|
1
1
|
再帰関数でフィボナッチ数を生成するコードについてです。
|
2
|
-
|
3
|
-
|
4
2
|
|
5
3
|
```
|
6
4
|
|
7
|
-
function fac
|
5
|
+
function fibonacci(num) {
|
8
6
|
|
9
|
-
|
7
|
+
if (num <= 1) return 1;
|
10
8
|
|
11
|
-
|
9
|
+
return fibonacci(num - 1) + fibonacci(num - 2);
|
12
10
|
|
13
|
-
|
11
|
+
}
|
14
12
|
|
15
|
-
|
13
|
+
```
|
16
14
|
|
17
|
-
|
15
|
+
|
18
16
|
|
19
|
-
|
17
|
+
たとえば5を引数に取った場合、
|
20
18
|
|
21
|
-
|
19
|
+
fibonacci(1)//return 1
|
22
20
|
|
23
|
-
|
21
|
+
fibonacci(2)
|
24
22
|
|
25
|
-
|
23
|
+
fibonacci(3)
|
26
24
|
|
27
|
-
|
25
|
+
fibonacci(4)
|
28
26
|
|
27
|
+
fibonacci(5)
|
28
|
+
|
29
|
-
|
29
|
+
のようにスタックされていくと思います。
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
fibonacci(1)の時に1が返されると思うのですが、その次からの挙動がよくわかりません。
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
どなたか解説をお願いしますm(__)m
|
2
内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -3,54 +3,6 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
```
|
6
|
-
|
7
|
-
function fibonacci(num) {
|
8
|
-
|
9
|
-
if (num <= 1) return 1;
|
10
|
-
|
11
|
-
return fibonacci(num - 1) + fibonacci(num - 2);
|
12
|
-
|
13
|
-
}
|
14
|
-
|
15
|
-
```
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
たとえば5を引数に取った場合、
|
20
|
-
|
21
|
-
fibonacci(1)//return 1
|
22
|
-
|
23
|
-
fibonacci(2)
|
24
|
-
|
25
|
-
fibonacci(3)
|
26
|
-
|
27
|
-
fibonacci(4)
|
28
|
-
|
29
|
-
fibonacci(5)
|
30
|
-
|
31
|
-
のようにスタックされていくと思います。
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
fibonacci(1)の時に1が返されると思うのですが、その次からの挙動がよくわかりません。
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
どなたか解説をお願いしますm(__)m
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
すみません、今ひらめきました。
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
別件になってしまいますが、
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
```ここに言語を入力
|
54
6
|
|
55
7
|
function factorial(n){
|
56
8
|
|
1
内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -36,4 +36,42 @@
|
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
+
|
40
|
+
|
39
41
|
どなたか解説をお願いしますm(__)m
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
すみません、今ひらめきました。
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
別件になってしまいますが、
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
```ここに言語を入力
|
54
|
+
|
55
|
+
function factorial(n){
|
56
|
+
|
57
|
+
if(n == 2){
|
58
|
+
|
59
|
+
var ary = [0,1];
|
60
|
+
|
61
|
+
return ary;
|
62
|
+
|
63
|
+
}else{
|
64
|
+
|
65
|
+
return factorial(n - 1).push(ary[n - 1] + ary[n - 2]);
|
66
|
+
|
67
|
+
}
|
68
|
+
|
69
|
+
}
|
70
|
+
|
71
|
+
```
|
72
|
+
|
73
|
+
フィボナッチ数の配列を作成する関数を書いてみたのですが、Uncaught TypeError: Cannot read property '1' of undefined 数字の1が数字として認識されていないようです。
|
74
|
+
|
75
|
+
Number(1)としてもだめでした。
|
76
|
+
|
77
|
+
どうしたらよろしいでしょうか?
|