5 votos

Número de la forma $2^i3^j5^k$ más cercano a un determinado número $n$

¿Cómo encuentro un número de la forma $2^i3^j5^k$ más cercano a un determinado número $n$, $i, j, k \in \mathbb{N}$ numéricamente? Por supuesto, puedo tratar de combinaciones de $\lfloor \log_2{n}\rfloor \times \lfloor\log_3{n}\rfloor \times \lfloor \log_5{n}\rfloor$ $i$, $j$ y $k$ y elegir aquella que minimiza la diferencia. Me preguntaba si hay formas más elegantes de hacer esto.

4voto

πr8 Puntos 1628

Una cosa a tener en cuenta es que no siempre una solución única - $11$ está a la misma distancia de$10=2\times5$$12=2^2\times3$. Aún así, podemos estrechar abajo donde buscamos soluciones de algo mediante la aplicación de algunas heurísticas:

$2^i3^j5^k\approx n\implies i\log2+j\log3+k\log5\approx\log n\implies(i,j,k)\cdot(\log2,\log3,\log5)\approx\log n$

Así, ahora sabemos que nuestro aproximado de las soluciones debe a que se encuentran cerca de un avión. Teniendo en cuenta que estamos tomando también $i,j,k\geq0$, podemos restringir nuestra búsqueda aún más, lo que da a los límites de la lista en su mensaje inicial.

Así, en lugar de una búsqueda de fuerza bruta sobre un prisma, se puede reducir a una búsqueda de fuerza bruta sobre un (barrio de) cara triangular de un simplex. Esto significa que un 2d de búsqueda en lugar de un 3d de búsqueda, los cuales deberían reducir la complejidad de algo - me imagino que si el algoritmo original es $O(\log^3n)$, esto debería ser $O(\log^2n)$. Así que es un paso adelante en algún sentido.

Quizás vale la pena señalar que el número de enteros $\leq n$ expresable en la forma$2^i3^j5^k$$\sim \frac{\log^3n}{(3)!\log2\log3\log5}$.

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