Na aritmética, um número n suave , onde n é um número primo, é matematicamente definido como um número inteiro positivo que não possui fatores primos maiores que n. Por exemplo, 42 é 7 bom porque todos os seus fatores primos são menores ou iguais a 7, mas 44 não é 7 bom porque também tem 11 como fator primo.
Defina um número bastante suave como um número sem fatores primos maiores que sua própria raiz quadrada. Assim, a lista de números bastante suaves pode ser formulada da seguinte maneira:
- (EDITADO!) 1 é um número bastante suave, devido à completa falta de fatores primos. (Observe que na versão original desta pergunta, 1 foi erroneamente excluído da lista; portanto, se você o excluir de suas saídas, não será marcado como errado.)
- Entre 4 (= 2 2 ) e 8, os números bastante suaves são 2-suaves, o que significa que eles têm 2 como seu único fator primo.
- Entre 9 (= 3 2 ) e 24, os números bastante suaves são 3 suaves e podem ter 2s e 3s em suas fatorações primárias.
- Entre 25 (= 5 2 ) e 48, os números bastante suaves são 5-suaves e podem ter 2s, 3s e 5s em suas fatorações primárias.
- E assim por diante, atualizando os critérios sempre que o quadrado do próximo número primo for atingido.
A lista de números bastante suaves é fixa e começa da seguinte forma: 1, 4, 8, 9, 12, 16, 18, 24, 25, ...
Seu desafio é escrever um código que produza todos os números bastante suaves, incluindo até 10.000 (= 100 2 ). Deve haver pelo menos um separador (não importa que tipo - espaço, vírgula, nova linha, qualquer coisa) entre cada número na lista e no próximo, mas é completamente irrelevante qual caractere é usado.
Como de costume, a menor contagem de bytes vence - obviamente, simplesmente exibir a lista não será muito benéfico para você aqui. Boa sorte!
1
)