似乎我的代码不适用于项目Euler,问题1.问题表明:
如果我们列出10以下的所有自然数是3或5的倍数,我们得到3,5,6和9.这些倍数的总和是23.
求出1000以下3或5的所有倍数的总和.
我的程序的输出是
266333
我的代码是:
private static final int max = 1000;
private static int sum;
public static void main(String[] args)
{
addMultiples(3);
addMultiples(5);
System.out.println(sum);
}
private static void addMultiples(int mult)
{
int x = mult;
while(x < max)
{
sum += x;
x += mult;
}
}
Run Code Online (Sandbox Code Playgroud)
似乎数学的基本原理只是在逃避我,如果我无法找到解决这样一个简单问题的方法,这真的会让我不能成为一名程序员.
首先,最重要的是,不要气馁.它只是一个问题,它是一个非常糟糕的程序员潜力指标.只是继续练习,任何人,你的错误比编程更多的数学.
如果我们列出的数字是小于16的3的倍数,我们得到:3,6,9,12,15.如果我们列出5的倍数小于16的数字,我们得到:5,10,15.
看到问题?
你算15次两次.你可以弄清楚实现,所以我不打算给你代码.这不会让你变得更好.
此外,这个问题可以通过数学和总和更有效地解决,但我会留给你.