elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] Conjetura del Goldbach
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Conjetura del Goldbach  (Leído 6,107 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[Python] Conjetura del Goldbach
« en: 7 Julio 2010, 10:37 am »

Hice esta aplicacion para subir nota en Informatica y pense que tal vez a alguien le sea de utilidad :xD

Código
  1. ## coding: utf-8
  2.  
  3. ## Criba de Eratóstenes
  4. def GetPrimes(n):
  5. # Obtenemos el lado de la criba
  6. nroot = int(n**0.5)
  7. # Marcamos todos los numeros como primos
  8. sieve = [True]*(n+1)
  9. # El 0 y el 1 no son primos
  10. sieve[0] = False
  11. sieve[1] = False
  12.  
  13. # Recorremos todos los números de 2 hasta la raíz
  14. for i in xrange(2, nroot+1):
  15. # Si esta marcado como primo...
  16. if sieve[i]:
  17. # Obtenemos la cantidad de multiples en el rango
  18. m = n/i - i
  19. # Marcamos todos sus multiplos como NO primos
  20. sieve[i*i: n+1:i] = [False] * (m+1)
  21. # Devolvemos solo los primos del rango
  22. return [i for i in xrange(n+1) if sieve[i]]
  23.  
  24. while True:
  25. try:
  26. n = int(raw_input("Dame un número:"))
  27. if (n % 2 == 0) and (n > 2):
  28. break
  29. int("x")
  30. except:
  31. print "Se necesita un número entero par mayor que 2."
  32.  
  33. print "*"*50
  34. print "Se aplicará la conjetura fuerte de Goldbach."
  35. print "Esta establece que cualquier número par mayor que 2 puede \nexpresarse como suma de DOS números primos"
  36. print "*"*50
  37.  
  38. p = GetPrimes(n)
  39. l = 0
  40.  
  41. for w in p:
  42. for v in p:
  43. if w + v == n:
  44. if w == l:
  45. exit = True
  46. break
  47. l = v
  48. print "%d+%d=%d" % (w,v,n)
  49. if exit == True:
  50. break

Mas info:
Código:
http://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3stenes
http://es.wikipedia.org/wiki/Conjetura_de_Goldbach

Saludos :D


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Source] Algoritmo Conjetura de Goldbach
Java
juancaa 0 8,797 Último mensaje 10 Noviembre 2012, 22:05 pm
por juancaa
(AYUDA) conjetura de goldbach
Programación Visual Basic
jpablom95 3 3,411 Último mensaje 3 Mayo 2013, 22:51 pm
por Elemental Code
Conjetura de Goldbach en C++
Programación C/C++
seryioo 5 6,995 Último mensaje 28 Julio 2015, 11:43 am
por seryioo
¿El cero es par? si es asi se resolveria la Conjetura de Collatz « 1 2 3 »
Foro Libre
Flamer 29 11,266 Último mensaje 29 Abril 2016, 00:06 am
por MinusFour
Ayuda c++ conjetura de Goldbach
Programación C/C++
shanse 1 1,939 Último mensaje 19 Noviembre 2018, 10:05 am
por K-YreX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines