Project Euler(Problem 1 - Multiples of 3 and 5)

Ruby on Railsで開発する環境は前回までで整ったものの、肝心のRubyの文法とかは何も知らない。。。ということで、一旦Project Eulerhttp://projecteuler.net/)でRubyを触ってみよー。


Project Eulerとは数学的な問題をプログラミングを使って解いていこうというものです。登録はメールアドレス等を入力するだけで簡単にできるので、ぜひ挑戦してみましょう。出題は英語ではありますが、Google翻訳などを使用すれば太刀打ちできないレベルで貼りません。問題に正解すると他の人の回答を見ることができ、自分の考えとは違う考えに触れることができて新鮮です。


とりあえずはProblem 1から挑戦。 



If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.



1000以下で3または5で割り切ることができる自然数の和は?という問題ですね。

よくプログラマの間でFizzBuzz問題と言われるものの変形バージョンといったところですか。


以下、回答したソースです。

sum = 0
for i in 1...1000 do
  if i % 3 == 0 || i % 5 == 0 then
    sum = sum + i
  end
end
print sum


他の正解者のRubyのコードを見ると、Rubyの表現力の高さを感じ取ることができます。

みんなおしゃれなソースを書いておられます。。。

自分はかなりオーソドックスな回答ですね。。。