我目前正在做 Project Euler 问题 1。我不知道为什么这两个循环不一样。
total = 0
for i in 0..1000
if (i % 3 == 0 || i % 5 == 0)
total += i
end
end
和
total = 0
(0...1000).each do |i|
total += i if (i % 3 == 0 || i % 5 == 0)
end
puts total
最佳答案
当您在 (0...1000)
范围内使用三个点时,最终值不是范围的一部分 - 它相当于 (0..999)
所以,在第一种情况下1000
是循环的一部分,但在第二种情况下它不是循环的一部分。
关于ruby - 为什么 Ruby 中的这些循环不输出相同的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35391395/