求出所有3或5的倍数之和到1000

0 c++ math logic

我正在用C++中的Project Euler做问题,但我没有得到第一个问题的正确答案.

这是我的代码:

#include <iostream>

using namespace std;

int main()
{
    int b;
    int c;

    for (int a = 0; a <= 1000;)
    {
        a = a + 3;
        b = a + b;
    }
    cout << b << "\n";

    for (int a = 0; a <=1000;)
    {
        a = a + 5;
        c = a + c;
    }
    cout << c << "\n";

    b = b + c;
    cout << b << "\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的输出是:

167835
101505
269340

我逻辑中的错误在哪里?

Sve*_*ach 6

您要添加两次为3 5的倍数(即15的倍数)的所有值.此外,您还将包括1002和1005,这可能不是预期的.