Cálculo de números primos. Criva de Erastótenes.

# -*- coding: utf-8 -*-
"""
Criva de Erastótenes.

Calcula los numeros primos entre 0 y uno dado n.
Ver explicación en:
http://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3stenes

author : arturo.suelves@gmail.com
fecha : 15-4-2008
version de python: 2.7
"""
import math

n=int(raw_input('Número máximo:'))

lista_numeros=[]

for i in range(0,n):
    lista_numeros.append(i)

print "Lista de numeros original:"
print lista_numeros

seguir=raw_input('Calcular los números primos:')

for i in range(2, int(math.sqrt(n))):
    if lista_numeros[i] <> 'X':
        for j in range(i,n/i):
            lista_numeros[j*i]='X'
print "Lista de números primos entre 0 y "+str(n)+"."            
print lista_numeros

No hay comentarios:

Publicar un comentario