回答編集履歴
2
説明が悪いのです。直す。
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
**純粋関数型**
|
2
2
|
|
3
|
-
質問の再帰関数は副作用のない純粋関数です。しかし再帰させると非効率なので、同じ純粋
|
3
|
+
質問の再帰関数は副作用のない純粋関数です。しかし再帰させると計算量が増えて非効率なので、同じ純粋性を保ちながらイテレートします。int[]を使うやり方は検索するとたくさんヒットします。Java 9以上でStreamのtakeWhile()がサポートされています。
|
4
4
|
|
5
5
|
```Java
|
6
6
|
static Integer[] fibonacci09(final int limit) {
|
1
純粋関数の説明を訂正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
**純粋関数型**
|
2
2
|
|
3
|
-
再帰させると非効率なので純粋関数型
|
3
|
+
質問の再帰関数は副作用のない純粋関数です。しかし再帰させると非効率なので、同じ純粋関数型を保てるようにしてイテレートします。int[]を使うやり方は検索するとたくさんヒットします。Java 9以上でStreamのtakeWhile()がサポートされています。
|
4
4
|
|
5
5
|
```Java
|
6
6
|
static Integer[] fibonacci09(final int limit) {
|
@@ -20,7 +20,7 @@
|
|
20
20
|
System.out.println(Arrays.asList(result));
|
21
21
|
```
|
22
22
|
|
23
|
-
ついでに。
|
23
|
+
ついでに、状態を持つ例。
|
24
24
|
|
25
25
|
```Java
|
26
26
|
static Integer[] fibonacci(final int limit) {
|