Project Euler.Net — Problem 1

Já postei à uns dias umas informações acerca do Project Eulet.Net, que consiste numa série de desafios acerca de Matemática\programação.

Então eu aceitei o desafio de tentar resolver os problemas propostos recorrendo a C++.

Aqui fica o primeiro desafio e a sua resolução:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.

A forma que eu encontrei para resolver o problema foi a seguinte:

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
    int soma = 0; // soma dos multiplos

    for (int x = 0; x <1000; x++)
    {
        if ((x % 3 == 0) || (x % 5 == 0))
        {
             soma += x;
        }
    }

    cout << "A soma de todos os Multiplos de 3 e 5 é: " << soma << endl;

    cin.get();
    cin.get();

    return 0;
}

Esta foi a melhor forma que encontrei para resolver o problema e não sei se a consegui implementar da forma mais correcta, por isso fico à espera de comentários, ou mesmo de correcções e dicas de melhoramento do código que apresento.