質問編集履歴

5

コードを修正しました。

2015/07/25 16:33

投稿

manman
manman

スコア233

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  x, y, *z = str.split('')
22
22
 
23
- z.map(&:to_i)[i - 1, j - 1].inject(:+)
23
+ z.map(&:to_i)[i - 1..j - 1].inject(:+)
24
24
 
25
25
  end
26
26
 

4

追記をおこないました。

2015/07/25 16:32

投稿

manman
manman

スコア233

test CHANGED
File without changes
test CHANGED
@@ -33,3 +33,11 @@
33
33
  p sum(str, 2, 96) # 1 + 0 + 3 + 0 + … + 5 + 6 + 7 = 432
34
34
 
35
35
  ```
36
+
37
+
38
+
39
+ (追記)2015/07/25 21:57
40
+
41
+ (回答を受けつけてから気がついたのですが、)
42
+
43
+ **1 / n の小数点表示を用いて**解いていただけたら幸いです。

3

コードの変更をおこなう。

2015/07/25 12:57

投稿

manman
manman

スコア233

test CHANGED
File without changes
test CHANGED
@@ -24,10 +24,12 @@
24
24
 
25
25
  end
26
26
 
27
+ # 本来以下のstr に 1 / n の小数点表示がくる
27
28
 
29
+ str =
28
30
 
29
- str = "0.123456789" # 本来 1 / n の小数点表示がきます
31
+ "0.010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567"
30
32
 
31
- p sum(str, 2, 7) # 2 + 3 + … + 7 = 27
33
+ p sum(str, 2, 96) # 1 + 0 + 3 + 0 + … + 5 + 6 + 7 = 432
32
34
 
33
35
  ```

2

コードの修正をおこなう。

2015/07/25 12:11

投稿

manman
manman

スコア233

test CHANGED
File without changes
test CHANGED
@@ -16,9 +16,7 @@
16
16
 
17
17
  ```Ruby
18
18
 
19
- def sum(i, j, str)
19
+ def sum(str, i, j)
20
-
21
- sum = 0
22
20
 
23
21
  x, y, *z = str.split('')
24
22
 
@@ -30,6 +28,6 @@
30
28
 
31
29
  str = "0.123456789" # 本来 1 / n の小数点表示がきます
32
30
 
33
- p sum(2, 7, str) # 2 + 3 + … + 7 = 27
31
+ p sum(str, 2, 7) # 2 + 3 + … + 7 = 27
34
32
 
35
33
  ```

1

依頼があり修正。

2015/07/25 11:50

投稿

manman
manman

スコア233

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,29 @@
7
7
  可能であれば、そのプログラムにおいて、
8
8
 
9
9
  j の上限も教えてください。
10
+
11
+
12
+
13
+ 以下途中経過を示しておきます。
14
+
15
+
16
+
17
+ ```Ruby
18
+
19
+ def sum(i, j, str)
20
+
21
+ sum = 0
22
+
23
+ x, y, *z = str.split('')
24
+
25
+ z.map(&:to_i)[i - 1, j - 1].inject(:+)
26
+
27
+ end
28
+
29
+
30
+
31
+ str = "0.123456789" # 本来 1 / n の小数点表示がきます
32
+
33
+ p sum(2, 7, str) # 2 + 3 + … + 7 = 27
34
+
35
+ ```