Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - pucheto

#181
Scripting / Re: Funcion isprime() [Python]
5 Junio 2009, 04:27 AM
no pongas PD<=(x/2)... combiene mas usar PD <= math.sqrt(x)
Los números compuestos son divisibles por algún primo menor q su raiz cuadrada.

Para no calcular la raiz tantas veces podes almacenarla en una variable auxiliar.
#182
Scripting / Re: Funcion isprime() [Python]
5 Junio 2009, 03:56 AM
43752 primos en 5 seg si uso IronPython... curioso este ultimo... (el iron python hace alguna optimizacion just in time?)
#183
Scripting / Re: Funcion isprime() [Python]
5 Junio 2009, 03:50 AM
Estaba al pedo y me tente :P
Código (python) [Seleccionar]
import math
import time

def isprime(a):        #verifica si a es primo
   d = True
   if a==0 or a==1:
       d=False
   b = 2
   c = math.sqrt(a)
   while b <= c and d == True:
       if a%b==0:
           d = False
       b+=1
   return d


def loop():            #mientras el tiempo transcurridosea menor q 5 busca primos
   a=1
   count = 0
   now = 0
   start = time.time()

   while((now-start)<5):
       if(isprime(a)==True):
           count += 1
       now = time.time()
       a+=2
   return count

def main():            #Llama 3 veces a loop() y hace un promedio de los resultados
   runs = 3
   s = 0
   for i in range(0,runs):
       s += loop()
       print "Run",i+1
   s = s/runs
   print "Score: ",s

print "Cerra todos los programas q tengas abiertos..."
raw_input("Despues presiona cualquier tecla...")
main()



39210 primos en 5 segundos! (CPython 2.6)
Haber q resultados les da a los demas..
#184
Scripting / Re: Funcion isprime() [Python]
5 Junio 2009, 03:14 AM
Pone a+=2 en vez de a+=1.. los primos nunca van a ser pares...
De todas formas la diferencia es nula, apenas cambia en 0.001 el tiempo