-4
這是一個Euler Project Number 1。Ruby代碼不起作用
sum = 0
array = []
for num in 1...1000
if num % 3 === 0
sum = sum + num
array.push(num)
end
if num % 5 === 0
sum = sum + num
array.push(num)
end
end
#puts array
puts sum
當我10
的範圍內運行的程序,我得到了正確的輸入,但是當我使用1000
,我的回答是266333
,而正確答案根據答案作弊266138
。你能告訴我,我做錯了什麼?
'(1 ... 1000)。選擇{| N | (N%3).zero? || (N%5).zero? } .inject(:+)' – 2014-10-20 01:03:26
@JörgWMittag:理論上,*可能*將所有項目歐拉問題作爲單個表達式來執行。雖然可能會很棘手! – 2014-10-20 01:10:33
你也可以做'case 0;當num%3時,num%5; ...結束。 – sawa 2014-10-20 01:21:39