Múltiplos de 3 y 5 en C++

Este es el primero de los problemas planteados en la web de “Project Euler”, el enunciado traducido es el siguiente:

“Si listamos todos los números naturales por debajo de 10 que son múltiplos de 3 o 5, obtenemos 3,5,6 y 9. La suma de estos múltiplos es 23.

Encuentra la suma de todos los múltiplos de 3 o 5 por debajo de 1000.”

La solución a este problema que planteo en C++ es:

#include <iostream>
using namespace std;

void main()
{
	int sum = 0;
	int n = 1000;

	for(int i = 0; i < n; i++)
	{
		if(3*i < n)
			sum += 3*i;
		if(5*i < n && (5*i) % 3 != 0)
			sum += 5*i;
	}
	cout << "Sum: " << sum << endl;
	system("pause");
}

El resultado correcto para este problema planteado es: 233168

11 thoughts on “Múltiplos de 3 y 5 en C++”

  1. This is my Javascript code for the same problem:

    var multiples3 = [];
    var multiples5 = [];

    function Hola(n) {
    for (var i = 3; i < n ; i += 3) {
    multiples3.push(i);
    }

    for (var o = 5; o < n ; o += 5) {
    multiples5.push(o);
    }
    Array.prototype.unique=function(a){
    return function(){return this.filter(a)}}(function(a,b,c){return c.indexOf(a,b+1)<0
    });
    var allnumbers = multiples3.concat(multiples5).unique();

    var total = 0;
    for (var h = 0; h < allnumbers.length; h++) {
    total += allnumbers[h];
    }
    console.log(total);
    }
    Hola(1000);

    1. AlejandroMoran

      Nice solution Roberto, do you think you can refactor your code and make it looks nicer? 🙂

  2. Emiliano Soto

    Buenos días, tengo duda en resolver este ejercicio que me piden
    Elabora un Programa en Lenguaje C que, lea una secuencia de N números y determine las siguientes opciones contempladas en un menú –switch:
    a) El mayor de los que son múltiplos de 5 y el menor de los que son múltiplos de 3–utiliza estructura for-
    b) La suma de los pares -utiliza estructura while-
    c) Contar cuantos números pares ingresaron y cuantos números impares–utiliza estructura do-while-

Leave a Reply to niidea Cancel Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.