В арифметиці n-гладне число , де n - задане просте число, математично визначається як натуральне ціле число, яке не має простих коефіцієнтів більше n. Наприклад, 42 є 7-гладким, оскільки всі його основні коефіцієнти менші або рівні 7, але 44 не є 7-гладкими, оскільки він також має 11 як основний фактор.
Визначте досить гладке число як число без простих факторів, що перевищує його власний квадратний корінь. Таким чином, список досить гладких чисел можна сформулювати так:
- (ЗДОРОВАНО!) 1 - досить плавне число, через повну відсутність будь-яких простих факторів. (Зверніть увагу, що в оригінальній версії цього питання 1 помилково було виключено зі списку, тому якщо ви виключите його зі своїх результатів, ви не будете позначені неправильно.)
- Між 4 (= 2 2 ) і 8, досить гладкі числа є 2-гладкими, тобто 2 є єдиним простим фактором.
- Між 9 (= 3 2 ) і 24, досить гладкі числа є 3-гладкими, і вони можуть мати 2s і 3s у своїх простих множниках.
- Між 25 (= 5 2 ) і 48, досить гладкі числа є 5-гладкими, і вони можуть мати 2s, 3s і 5s у своїх простих множниках.
- І так далі, удосконалюючи критерії щоразу, коли буде досягнуто квадрат наступного простого числа.
Список досить рівних чисел фіксується і починається так: 1, 4, 8, 9, 12, 16, 18, 24, 25, ...
Ваше завдання полягає в тому, щоб написати код, який видасть усі досить гладкі числа до 10 000 (= 100 2 ). Між кожним номером у списку та наступним має бути принаймні один роздільник (не важливо, який вид - пробіл, кома, новий рядок, що завгодно), але абсолютно не має значення, який символ використовується.
Як завжди, найнижча кількість байтів виграє - очевидно, просто виведення списку не буде для вас надто вигідним. Удачі!
1
)