Euler#1项目,没有明显原因获得更高的结果

  • 本文关键字:结果 项目 Euler#1 c#
  • 更新时间 :
  • 英文 :


我在项目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;
                }
            }

最新更新