En aritmética, un número n-liso , donde n es un número primo dado, se define matemáticamente como un número entero positivo que no tiene factores primos mayores que n. Por ejemplo, 42 es 7-liso porque todos sus factores primos son menores o iguales a 7, pero 44 no es 7-liso porque también tiene 11 como factor primo.
Defina un número bastante suave como un número sin factores primos mayores que su propia raíz cuadrada. Por lo tanto, la lista de números bastante suaves puede formularse de la siguiente manera:
- (¡EDITADO!) 1 es un número bastante suave, debido a la falta total de factores primos. (Tenga en cuenta que en la versión original de esta pregunta, 1 fue excluido erróneamente de la lista, por lo que si lo excluye de sus resultados, no se marcará incorrectamente).
- Entre 4 (= 2 2 ) y 8, los números bastante suaves son 2-suaves, lo que significa que tienen 2 como único factor primo.
- Entre 9 (= 3 2 ) y 24, los números bastante suaves son 3-suaves, y pueden tener 2s y 3s en sus factorizaciones primas.
- Entre 25 (= 5 2 ) y 48, los números bastante suaves son 5 suaves y pueden tener 2s, 3s y 5s en sus factorizaciones primas.
- Y así sucesivamente, actualizar los criterios cada vez que se alcanza el cuadrado del siguiente número primo.
La lista de números bastante suaves es fija y comienza de la siguiente manera: 1, 4, 8, 9, 12, 16, 18, 24, 25, ...
Su reto es escribir el código que da salida a todos los números muy suave hasta e incluyendo 10 000 (= 100 2 ). Debe haber al menos un separador (no importa de qué tipo: espacio, coma, nueva línea, cualquier cosa) entre cada número en la lista y el siguiente, pero es completamente irrelevante qué carácter se utiliza.
Como de costumbre, el recuento de bytes más bajo gana, obviamente, simplemente generar la lista no será demasiado beneficioso para usted aquí. ¡Buena suerte!
1
)