Foros del Web » Programando para Internet » Python »

¿Como creo un programa en Python que me muestre el primo mas cercano a un numero?

Estas en el tema de ¿Como creo un programa en Python que me muestre el primo mas cercano a un numero? en el foro de Python en Foros del Web. Hola a todos, necesito crear un programa que encuentre cual es el primo mayor o igual mas próximo a un numero ingresado por teclado, apenas ...
  #1 (permalink)  
Antiguo 21/03/2015, 11:58
 
Fecha de Ingreso: marzo-2015
Mensajes: 1
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta ¿Como creo un programa en Python que me muestre el primo mas cercano a un numero?

Hola a todos, necesito crear un programa que encuentre cual es el primo mayor o igual mas próximo a un numero ingresado por teclado, apenas estoy aprendiendo y no encuentro como hacerlo , lo que he hecho es algo así:
Código Python:
Ver original
  1. numero=input("digite un numero")
  2. n1=int(numero)
  3. i=1
  4. divisores=0
  5.  
  6. while(i<=n1):
  7.     if(n1%i==0):
  8.         i=i+1
  9.         divisores=divisores+1
  10.     else:
  11.         i=i+1
  12.     if(divisores==2):
  13.         print(n1)
  14.        
  15.     else:
  16.        n1=n1+1
  17.        i=1
se que no esta bien pero tampoco encuentro como arreglarlo. ¿que debo hacer? ¿esta todo mal?

Última edición por razpeitia; 23/03/2015 a las 09:24
  #2 (permalink)  
Antiguo 23/03/2015, 08:08
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Como creo un programa en Python que me muestre el primo mas cercano a un

Si estás aprendiendo, dejame sugerirte lo que para mí es una metodología de trabajo importante y que funciona:

1. Entendé el problema. Con tus propias palabras, describí lo que necesitás hacer, sin entrar en detalles

"Dado un número n, encontrar el primer número primo mayor o igual que n"

2. En pasos sucesivos, agregá detalle a la descripción. Estos pasos deberían sugerirte una forma de resolver el problema, e incluso las funciones que vas a necesitar.

"Leer un número n desde el teclado, y luego encontrar el primer x tal que x es mayor o igual que n y primo"

"Leer un número n desde el teclado. Probar si es primo. Si no lo es, sumarle sucesivamente 1 hasta encontrar un número primo"

Notá cómo esta última descripción del problema sugiere una función para verificar que un número es primo (ya que vas a necesitar verificarlo varias veces) y a la vez sugiere el uso de un bucle.

3. Escribí pseudo-código que "implemente" la descripción más detallada a la que hayas llegado en el paso 2

Como este problema es sencillo, el pseudocódigo no es tan necesario. Pero este paso suele ayudar a encontrar problemas lógicos, y de hecho es mucho mejor si se encuentran antes de escribir el programa real. Comprensiblemente los pasos 2 y 3 están muy relacionados, ya que ambos ayudan a entender el problema que se intenta resolver.

4. Convertí el pseudocódigo del paso anterior a código real
Código Python:
Ver original
  1. n = int(input("Ingrese número: "))
  2. i = 0
  3. while not es_primo(n + i):
  4.     i += 1
  5.  
  6. print n + i

Ahora repetís todo el proceso con la función es_primo. Recordá que el método más sencillo (aunque más lento) para probar si un número n es primo es verificar que no es divisible entre ningún primo menor que la raíz cuadrada de n. También, por eficiencia, podrías probar que n no sea par, y si lo es, sumar de a 2 en vez de a 1.


Saludos.

Etiquetas: programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:49.