• 締切済み

ruby の Σ計算 

ruby で (i=o , 10 ) Σ i ** 2 を計算させるにはどうすればいいのでしょうか? ruby で 読み込んで計算させたいです。 0^2+1^2+3^2+....+2^10=??

みんなの回答

回答No.3

>この書き方だと非効率なのでしょうか。 いや気にしたことがないな。単にSchemeっぽく書いた方がRubyには似合いそうだ、と思ったからこう書いただけで、そっちの書き方でも全く問題ない

回答No.2

俺のバカorz Q5655527を回答したつもりになってる。回答欄違ってた。 n = 10 r1 = Range.new(1,n,false) p r1.inject(0) {| result , item | result + item**2}

回答No.1

Rubyあんま使ってないけど、名前の付け方がSchemeっぽいので、他の言語のような使い方しないでざっくりと。小数の演算入ると有効桁数が絡んできそうなので整数だけで処理した。 n = 100 m = 2 r1 = Range.new(1,n,false) r2 = Range.new(1,m,false) r3 = Range.new(1,n - m,false) d1 = r1.inject(1) {| result , item | result * item} d2 = r2.inject(1) {| result , item | result * item} d3 = r3.inject(1) {| result , item | result * item} p (d1 / (d2 * d3))

aaaiiyuda
質問者

補足

ありがとうございます^^ あれから試した所 a=1 b=0 while a <= 10 b = b + a ** 2 a = a + 1 end puts b この方法で解を出せました。 初心者なのでほかの記述の仕方が分からないのですが この書き方だと非効率なのでしょうか。

関連するQ&A