-1

この Ruby コードの何が問題になっていますか? Project Euler の最初の質問を解決しようとしています。

問題は の構文にあると思いますがsum += num、これの適切な構文が何であるかわかりません。

sum = 0
num = 0
num2 = 0

loop do
  num += 1
  if num % 3 == 0
    sum += num
    break if num > 1000
  end
end

loop do
  num2 += 1
  if num2 % 5 == 0
    sum += num2
    break if num2 > 1000
  end
end

puts sum
4

3 に答える 3

3

あなたはこの方法を必要以上に複雑にしています。また、数値が 3と5の倍数の場合は2 回加算されます。次のようなことを試してください:

sum = 0 # initialize the sum
(1...1000).each { |x| # loop from 1 to 1000
    sum += x if x % 3 == 0 || x % 5 == 0 # add the number to the sum if it is
                                         # divisible by 3 or 5
}
puts sum # output the sum
于 2013-07-13T03:12:23.950 に答える