Acciones

Ejercicio 10: Suma de todos los primos hasta 2.000.000

De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)

Enunciado: Sabemos que la suma de los primos inferiores a 10 es 2+3+5+7=17.

Calcular la suma de todos los primos inferiores a 2.000.000.


Solución: Definimos suma=0, será el acumulador donde se van a ir guardando las sumas en todas las iteraciones que el número sea primo. Se construye el bucle, for, para que recorra todos los números de 2 a 2.000.000. No sumamos el número 1 ya que en el ejemplo que se indica de 10 no lo incluye. Se construye la condición con if. La condición factor(i) muestra la descomposición de i en producto de factores primos, con lo que si i es primo sólo mostrará i y, por tanto, lo sumaremos. En caso contrario pasará a i+1.


suma:0;
for i:2 thru 2000000 do if factor(i)=i then suma:i+suma;
suma;
142913828922