Cada $5$-lisa número es de la forma $2^x3^y5^z$. Vamos a llamar a la $1000$th uno $M$. Eso significa que hay un $1000$ número entero no negativo soluciones a $$2^x3^y5^z<M$$ This is the same as having $1000$ nonnegative integer solutions to $$\log(2)x+\log(3)y+\log(5)z<\log(M)$$
There are approximately as many nonnegative integer solutions as the volume of the tetrahedron that this linear inequality defines: $\frac{1}{6}\frac{(\log(M))^3}{\log(2)\log(3)\log(5)}$. So we can immediately zoom in on the order of magnitude of $M$ by solving $$\begin{align}
\frac{1}{6}\frac{(\log(M))^3}{\log(2)\log(3)\log(5)}
&\approx1000\\
\implies M
&\approx \exp\left(\sqrt[3]{6000\log(2)\log(3)\log(5)}\right)\approx 278817463=:\tilde{M}
\end{align}$$
Now define $S_0=\{1\}$. Since each $5$-smooth number will yield three more through multiplication by $2$, $3$, and $5$, generate more $5$-suave números de esta manera. Tenemos
$S_1=\{2,3,5\}$. Y, a continuación,$S_2=\{4,6,10,6,9,15,10,15,25\}$, lo que nos apartan hacia abajo a $\{4,6,10,9,15,25\}$.
Mantener la creación de estos $S_i$, sacrificio de animales fuera de los duplicados y también sacrificio de distancia de cualquier resultado que se llevará demasiado lejos más allá de nuestro estadio para $\tilde{M}$. Por ejemplo, si usted llega a $2\tilde{M}$, arrojan que el número.
Finalmente, se le han agotado sus opciones (después de $\log_2(2\tilde{M})\approx28$ iteraciones). Esto te dejará con una colección de $S=S_0\cup S_1\cup \cdots S_n$ de todas las $5$-suave números de menos de $2\tilde{M}$, de la cual no debería ser $K>1000$. Aplicar un algoritmo de ordenación (en el peor de los ${\cal O}(K\log(K))$, pero probablemente la más rápida, ya que hay algunos naturales pedido ya a partir de este proceso) y usted puede elegir el $1000$th plazo.
Nota: podría ser más rápido para conseguir $S$ sólo para iterar a través de él como
for i = 0..log_2(2M)
for j = 0..log_3(2M/2^i)
for k = 0..log_5(2M/2^i/3^j)
append 2^i*3^j*5^k to S