[pyar] Numeros primos

Pablo M. Mana pablo.m.mana en gmail.com
Jue Dic 1 16:01:43 ART 2011


Saludos.
Pablo M. Mana






El día 28 de noviembre de 2011 13:52, Ricardo Armas <rarmas en gmail.com> escribió:
> On Sun, Nov 27, 2011 at 22:30, Pablo M. Mana <pablo.m.mana en gmail.com> wrote:
>> Muchas gracias por sus respuestas, aprendi unas cuantas cosas
>> leyendolos, la funcion quedo:
>>
>> def primos ( fin = 100 ):
>>    """ Halla una lista de numeros primos por encima de 7 """
>>    im = [ n for n in range (3, fin, 2) ]
>>    l1 = [ o for o in im if (o % 5 != 0 ) ]
>>    l2 = [ m for m in l1 if ( ( pow( m, 0.5) ) !=  int( pow( m, 0.5)))]
>>    p1 = [ n for n in l2 if all(n%l != 0 for l in range(2, int( pow(n, 0.5)))) ]
>>    print p1
> No funca, tira el 143 que no es primo por ejemplo.
>
> --
> Ricardo A. Armas

Ahora si (creo)

from math import sqrt
from math import ceil

def primos ( fin = 200 ):
   """ Halla una lista de numeros primos por encima de 7  """
   im = [ n for n in range (7, fin, 2) ]
   l1 = [ o for o in im if (o % 5 != 0 ) ]
   l2 = [ m for m in l1 if ( sqrt(m) !=  int (sqrt(m))) ]
   p1 = [ n for n in l2 if all(n%l != 0 for l in range(3, int(ceil(sqrt(n)))))]
   print p1

primos()



More information about the pyar mailing list