アプリ版:「スタンプのみでお礼する」機能のリリースについて

ruby で (i=o , 10 ) Σ i ** 2 を計算させるにはどうすればいいのでしょうか?

ruby で 読み込んで計算させたいです。

0^2+1^2+3^2+....+2^10=??

A 回答 (3件)

>この書き方だと非効率なのでしょうか。


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

俺のバカorz


Q5655527を回答したつもりになってる。回答欄違ってた。

n = 10
r1 = Range.new(1,n,false)

p r1.inject(0) {| result , item | result + item**2}
    • good
    • 2

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))

この回答への補足

ありがとうございます^^
あれから試した所
a=1
b=0

while a <= 10

b = b + a ** 2
a = a + 1

end

puts b

この方法で解を出せました。
初心者なのでほかの記述の仕方が分からないのですが
この書き方だと非効率なのでしょうか。

補足日時:2010/02/07 10:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!