Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
FACTORIZACION DE UN NÚMERO (GOTO?)
#1
Hola a la comunidad.
Soy nuevo en programación y también en PYTHON.
Tengo que resolver un ejercicio de FACTORIZACION DE NUMEROS.
Hice un FLOW CHART del mismo( archivo adjunt).
Hice unas purebas pero realmente no funcionaron.
Tengo en la cabeza usar GOTO..Pero en PYTHON no exciste de base.
Busqué en GOOGLE hay varios módulos pero la verdad no funcionan.
Me podrían ayudar a resolverlo sin usar GOTO?.
Muchas gracias!


Archivos adjuntos Miniatura(s)
   
Responder
#2
Hola.

Estuve pensando un poco el diagrama de flujo que adjuntaste. Creo que a lo último debería chequearse si el cociente es distinto de cero, en lugar de igual a cero. Como sea, la siguiente implementación está insipirada en tu diagrama:

  1. numero = int(input("Ingresa un número: "))
  2. numeros_primos = iter([2, 3, 5, 7, 11, 13, 17, 19, 23])
  3. numero_primo = next(numeros_primos)
  4. cociente = None
  5.  
  6. print(f"Factores de {numero}:")
  7.  
  8. while cociente != 1:
  9. if numero % numero_primo != 0:
  10. numero_primo = next(numeros_primos)
  11. continue
  12. cociente = numero / numero_primo
  13. numero = cociente
  14. print(numero_primo)


Como te había comentado, el GOTO de C o el JUMP de assembly lo podés replicar en Python y otros lenguajes de alto nivel con un bucle while. La clave de este código es que todo lo que está dentro del while se repite mientras el cociente sea distinto de 1. El "continue" hace que el código vuelva a empezar desde la primera línea del bucle. El resto me parece que es bastante claro.

Comentame qué te parece.

Saludos
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)