项目欧拉,#1

Ota*_*nan 0 java math logic

似乎我的代码不适用于项目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)

似乎数学的基本原理只是在逃避我,如果我无法找到解决这样一个简单问题的方法,这真的会让我不能成为一名程序员.

and*_*ars 6

首先,最重要的是,不要气馁.它只是一个问题,它是一个非常糟糕的程序员潜力指标.只是继续练习,任何人,你的错误比编程更多的数学.

如果我们列出的数字是小于16的3的倍数,我们得到:3,6,9,12,15.如果我们列出5的倍数小于16的数字,我们得到:5,10,15.

看到问题?

你算15次两次.你可以弄清楚实现,所以我不打算给你代码.这不会让你变得更好.

此外,这个问题可以通过数学和总和更有效地解决,但我会留给你.