Autor Tema: Mostrar divisores de un número en forma ascendente

0 Usuarios y 1 Visitante están viendo este tema.

04 Octubre, 2021, 02:39 am
Leído 985 veces

alpertron

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 13
  • País: ar
  • Karma: +1/-0
Dada la factorización completa de un número natural como producto de potencias de números primos, necesito mostrar la lista de divisores en forma ascendente sin generar la lista completa y luego ordenarla.

El número puede tener varias decenas de dígitos y potencialmente millones de divisores.

La idea es generar hasta 1000 divisores por vez, mostrar esa lista en pantalla y preguntarle al usuario si quiere seguir generando más divisores (en cuyo caso se mostrarían los 1000 siguientes) o cancelar el proceso.

¿Alguna idea?

04 Octubre, 2021, 12:23 pm
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 51,485
  • País: es
  • Karma: +0/-0

04 Octubre, 2021, 01:35 pm
Respuesta #2

alpertron

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 13
  • País: ar
  • Karma: +1/-0
Gracias Luis.

Parece ser lo que yo necesito.

Voy a analizarlo más detenidamente y si funciona como espero, lo voy a integrar en mi calculadora de factorización de números enteros.

08 Octubre, 2021, 06:02 pm
Respuesta #3

alpertron

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 13
  • País: ar
  • Karma: +1/-0
Estuve analizando el código, incluyendo algunas corridas con el debugger y lamentablemente el programa necesita que todos los divisores estén en memoria, que es justamente lo que quiero evitar.