質問編集履歴

1

補足説明を追加

2018/09/27 05:22

投稿

Casablanca_mtg
Casablanca_mtg

スコア209

test CHANGED
File without changes
test CHANGED
@@ -2,22 +2,36 @@
2
2
 
3
3
  下記のコードからsum(1L..123456).toList())を実行するにはどうすればよいのかをご指導ください
4
4
 
5
- ```REPL
5
+ ```kotlin
6
-
7
- fun sum(numbers: List<Long>) :Long {
8
-
9
-
10
6
 
11
7
 
12
8
 
13
- tailrec fun sum(numbers:List<Long>, accumulator: Long = 0): Long =
9
+ fun sum(numbers: List<Long>): Long {
14
10
 
15
- if (numbers.isEmpty()) accumulator
11
+ var sum = 0L
16
12
 
13
+ for (n in numbers) {
14
+
15
+ sum += n
16
+
17
+ }
18
+
19
+ return sum
20
+
21
+ }
22
+
23
+ tailrec fun sum(numbers: List<Long>, accumulator: Long = 0): Long =
24
+
25
+ if (numbers.isEmpty()) accumulator
26
+
17
- else sum(numbers.drop(1), accumulator + numbers.first())
27
+ else sum(numbers.drop(1), accumulator + numbers.first())
28
+
29
+
18
30
 
19
31
  ```
20
32
 
21
- のように続ければよいのか理解できていせん
33
+ 上記のようなコードありす。
22
34
 
23
- よろしくお願ます
35
+ kotlinスタートアップ74~76Pに示されています
36
+
37
+ TCOが有効になったところでsum(1L..123456).toList())を実行するにはどのように記述すればよいのでしょうか?