decir que tenemos 3
números N
, x
y y
que son siempre >=1
.Encuentra la suma de todos los números entre 1 y N divisible por X o Y
N será mayor que x
y y
y x
será mayor que y
.
Ahora necesitamos para encontrar la suma de todos los números entre 1 y N que son divisibles por x o y.
me ocurrió esto:
sum = 0;
for(i=1;i<=N;i++)
{
if(i%x || i%y)
sum += i;
}
¿Hay una manera mejor manera de encontrar la suma evitando el bucle?
He estado golpeando mi cabeza por muchos días pero no he encontrado nada mejor.
Si el valor de N
tiene un límite superior, podemos usar un método de búsqueda para acelerar el proceso.
Gracias a todos.
Quería una solución basada en C/C++. ¿Hay una función incorporada para hacer esto? ¿O tengo que codificar el algoritmo?
Es éste, por casualidad, un problema de tarea? :) – Mehrdad
... ¿deberes? Dx – William
No, señor. Puedes confiar en mi. Esto me lo preguntaron en mi entrevista. – user545682