我在项目Euler网站上的第一个编码挑战有问题。这就是您要做的:
"如果我们列出了3个以下的所有自然数,即3的倍数 或5,我们得到3、5、6和9。这些倍数的总和为23。
找到1000以下3或5的所有倍数的总和。"
这是我的代码(C#(:
total = 0;
for (int i = 0; i <= (999 - (999 % 3)) / 3; i++)
{
total += 3 * i;
}
for (int i = 0; i <= (999 - (999 % 5)) / 5; i++)
{
total += 5 * i;
}
当我返回总计时,它给了我" 266333",而应该为'233168'。我一直盯着它大约一个小时,我不知道我的代码出错了。抱歉,如果这是一个愚蠢的问题,但是Google没有帮助我,我真的很愚蠢。
您可以单一进行循环做:
int total = 0;
for (int i = 1; i < 1000; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
total += i;
}
}