Ruby
1SeriesSum(1) => 1 = "1.00" 2SeriesSum(2) => 1 + 1/4 = "1.25" 3SeriesSum(5) => 1 + 1/4 + 1/7 + 1/10 + 1/13 = "1.57"
分母が等差数列の和を求める関数をつくるのですが、私は
Ruby
1def series_sum(n) 2 array = [] 3 f = 1 4 n.times{ 5 mom = 1 + 3*(f - 1) 6 nth = (1 / mom.to_f) 7 array.push(nth) 8 f += 1 9 } 10 output = array.inject(:+).round(2).to_s 11end 12# SeriesSum(2)=> "1.25" 13# SeriesSum(3) => "1.39" 14
としました。しかし少数第2位が"0"の時、
SeriesSum(1) => "1.0" SeriesSum(18) => "2.0"
のように第2位が表示されなくなってしまいます。少数第2位を表示させるにはどうすればよいでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/28 08:51