2011-07-10 13 views
1

我不能在他們的論壇上尋求幫助,但我已經在這裏3個小時了。 擾流板低於我不明白我做錯了什麼。現在的問題是:項目歐拉破壞者,#001 - PHP總和

如果我們在下面列出10是3或5的倍數的所有自然數,我們得到了3,5,6和9這倍數的總和爲23 找到的總和所有3或5的倍數低於1000.

這是我的等式。

for($total = 0, $f = 5, $t = 3; $t < 1000; $t+=3){

if($f < 1000) { $total += $f + $t; echo "Five: $f, Three: $t = $total
"; $f += 5; } else { $total += $t; echo "Five: $f, Three: $t = $total
"; } }

答案是:233168。我的錯誤在哪裏?

回答

1

您正在計算可被3和5整除的數字兩次

+0

是怎麼回事? $總+ = $ f + $ t? –

+0

$ f = 15以及後來的$ t = 15例如 - 您將添加15次兩次。 – BrokenGlass

+0

ahhh所以你不是說每次都加兩次。就在他們在公共場所時。好的,這是有道理的! –

0

假設S(3)表示整除數之和由3和S(5)表示由5整除數之和,直到給定數量n,則通過3或5整除數的總和由

給出S(3 U 5)= S(3)+ S(5)-S(3∩5) 其中S(3∩5)表示3和5均可被整除的那些數的總和。

在你的情況,你正在計算S(3 U 5)= S(3)+ S(5),因此得到錯誤的答案。