2 votos

¿Existe algún algoritmo para encontrar el número entero más factorizable alrededor de algún valor especificado?

Digamos que tengo un número (n=337,023) y una distancia máxima (d=1,012). ¿Existe algún algoritmo que encuentre el número k en el intervalo entre n-d y n+d con el mayor número de divisores que sea más eficiente que simplemente calcular todos los factores de todos los números del intervalo?

Añadido: La pregunta es por pura curiosidad. Tenía que elegir el tamaño de una imagen en píxeles con alguna restricción vaga (como "anchura alrededor de 700") y estaba pensando que encontrar un número que pudiera dividirse entre muchos números podría ser más conveniente (para poder dividir la imagen en partes más pequeñas). Entonces me encontré tratando de encontrar números agradablemente divisibles alrededor de mis restricciones. Pregunté rápidamente en google para encontrarlos pero sin éxito. (En ese caso particular, una solución aproximada era suficiente, o incluso sólo un múltiplo de 12 o 60 o lo que sea).

1voto

Shabaz Puntos 403

Para tu propósito, yo sólo almacenaría la lista de números altamente compuestos, OEIS A002182 y encuentra el mayor que divida un número de tu rango. El ejemplo que has dado admite números de $336,011$ a $338,035$ . Podemos observar que $3 \cdot 110,880=332,640$ que no está tan lejos de su alcance y tiene $192$ factores. Podrías buscar hacia abajo en la lista hasta que encuentres uno con un múltiplo en tu rango, o podrías decir que tu rango es $2024$ así que toma el mayor menos que eso por lo que se garantiza un múltiplo y encontrar $201 \cdot 1680 = 337,680$ que tiene $120$ factores. Justo fuera de su rango es $200 \cdot 1680=336,000$ con $128$ factores. Esto es realmente una mejora de la elección de un múltiplo de $60$ y darlo por terminado, lo cual no es descabellado.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X