我不能在他们的论坛上寻求帮助,但我已经在这里待了3个小时了。 下面的剧透 我不明白我做错了什么。问题是:
如果我们列出10以下的所有自然数是3或5的倍数,我们得到3,5,6和9.这些倍数的总和是23。 求出1000或以下所有3或5的倍数之和。
这是我制作的等式。
for($total = 0, $f = 5, $t = 3; $t < 1000; $t+=3){
if($f < 1000)
{
$total += $f + $t;
echo "Five: $f, Three: $t = $total<br />";
$f += 5;
}
else
{
$total += $t;
echo "Five: $f, Three: $t = $total<br />";
}
}
答案是:233168。哪里是我的错误?
答案 0 :(得分:1)
您计算的数字可以被3和5 整除。
答案 1 :(得分: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),因此得到错误答案。