teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

コードを修正しました。

2015/07/25 16:33

投稿

manman
manman

スコア233

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,7 @@
9
9
  ```Ruby
10
10
  def sum(str, i, j)
11
11
  x, y, *z = str.split('')
12
- z.map(&:to_i)[i - 1, j - 1].inject(:+)
12
+ z.map(&:to_i)[i - 1..j - 1].inject(:+)
13
13
  end
14
14
  # 本来以下のstr に 1 / n の小数点表示がくる
15
15
  str =

4

追記をおこないました。

2015/07/25 16:32

投稿

manman
manman

スコア233

title CHANGED
File without changes
body CHANGED
@@ -15,4 +15,8 @@
15
15
  str =
16
16
  "0.010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567"
17
17
  p sum(str, 2, 96) # 1 + 0 + 3 + 0 + … + 5 + 6 + 7 = 432
18
- ```
18
+ ```
19
+
20
+ (追記)2015/07/25 21:57
21
+ (回答を受けつけてから気がついたのですが、)
22
+ **1 / n の小数点表示を用いて**解いていただけたら幸いです。

3

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

2015/07/25 12:57

投稿

manman
manman

スコア233

title CHANGED
File without changes
body CHANGED
@@ -11,7 +11,8 @@
11
11
  x, y, *z = str.split('')
12
12
  z.map(&:to_i)[i - 1, j - 1].inject(:+)
13
13
  end
14
-
15
- str = "0.123456789" # 本来 1 / n の小数点表示がきます
14
+ # 本来以下のstr 1 / n の小数点表示がくる
15
+ str =
16
+ "0.010309278350515463917525773195876288659793814432989690721649484536082474226804123711340206185567"
16
- p sum(str, 2, 7) # 2 + 3 + … + 7 = 27
17
+ p sum(str, 2, 96) # 1 + 0 + 3 + 0 + … + 5 + 6 + 7 = 432
17
18
  ```

2

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

2015/07/25 12:11

投稿

manman
manman

スコア233

title CHANGED
File without changes
body CHANGED
@@ -7,12 +7,11 @@
7
7
  以下途中経過を示しておきます。
8
8
 
9
9
  ```Ruby
10
- def sum(i, j, str)
10
+ def sum(str, i, j)
11
- sum = 0
12
11
  x, y, *z = str.split('')
13
12
  z.map(&:to_i)[i - 1, j - 1].inject(:+)
14
13
  end
15
14
 
16
15
  str = "0.123456789" # 本来 1 / n の小数点表示がきます
17
- p sum(2, 7, str) # 2 + 3 + … + 7 = 27
16
+ p sum(str, 2, 7) # 2 + 3 + … + 7 = 27
18
17
  ```

1

依頼があり修正。

2015/07/25 11:50

投稿

manman
manman

スコア233

title CHANGED
File without changes
body CHANGED
@@ -2,4 +2,17 @@
2
2
  1/n の小数点第i位から第j位までの和を求める
3
3
  Rubyのプログラムを教えてください。
4
4
  可能であれば、そのプログラムにおいて、
5
- j の上限も教えてください。
5
+ j の上限も教えてください。
6
+
7
+ 以下途中経過を示しておきます。
8
+
9
+ ```Ruby
10
+ def sum(i, j, str)
11
+ sum = 0
12
+ x, y, *z = str.split('')
13
+ z.map(&:to_i)[i - 1, j - 1].inject(:+)
14
+ end
15
+
16
+ str = "0.123456789" # 本来 1 / n の小数点表示がきます
17
+ p sum(2, 7, str) # 2 + 3 + … + 7 = 27
18
+ ```