Encuentra la suma de todos los números primos en Python

Aquí, vamos a aprender cómo encontrar la suma de todos los números primos hasta 1000 en lenguaje de programación Python?

Para realizar esta tarea, utilizaremos la criba de Eratóstenes, que es uno de los más famosos algoritmos de lenguaje Python que se utiliza para encontrar números primos. No hay necesidad de preocuparse por lo que un mil es el gran número y cómo vamos a encontrar el todo número primo inferior a mil. Por lo tanto, antes de ir a resolver este problema de la manera más fácil vamos a aprender un poco acerca de lo que es criba de Eratóstenes y del algoritmo de la forma aplicable en nuestra tarea.

criba de Eratóstenes y su algoritmo

Es un método simple y antigua class encontrar todos los números primos menores o iguales a N y aquí el valor de N es de mil.

algoritmo para encontrar la suma de los números primos menores o iguales a mil por criba de Eratóstenes,

  • Creamos una matriz for de tamaño igual al número dado ( N ) y marcar cada posición en Es cierto que la matriz.
  • inicializamos una variable p igual a 2 y s igual a 0.
  • Si la variable p es primo luego marque cada múltiplo de número falso de la matriz.
  • Actualización de la variable p por un incremento de 1 es decir p = p + 1 .
  • Repite el paso 2 hasta que el cuadrado de la variable es menor que el número determinado ( N ).
  • Los elementos de la matriz con la verdadera contienen todos los números primos menores o iguales al número dado y los elementos de la matriz que es nuestro número primo.
  • Después del proceso anterior, nos encontraremos simplemente la suma de los números primos.

Empecemos escribir un programa Python usando el algoritmo anterior de una manera sencilla.

Código:

N=1000
s=0 # variable s will be used to find the sum of all prime.
Primes=[True for k in range(N+1)]
p=2
Primes[0]=False # zero is not a prime number.
Primes[1]=False #one is also not a prime number.
while(p*p<=N):
if Primes[p]==True:
for j in range(p*p,N+1,p):
Primes[j]=False
p+=1
for i in range(2,N):
if Primes[i]:
s+=i
print('The sum of prime numbers:',s)

salida

The sum of prime numbers: 76127


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *