Проста сила - це додатне ціле число n, яке можна записати у вигляді n = p k, де p - просте, а k - додатне ціле число. Наприклад, деякі прем'єр-сили є [2, 3, 5, 4, 9, 25, 8, 27, 125]
.
Далі розглянемо прості сили 2. Вони є [2, 4, 8, 16, ...]
і можуть бути записані у формі 2 k . Всі вони будуть включені при розгляді простіших потужностей нижче 20. Однак 16 - це максимальна прем'єр-сила з базовим розширенням 2 у цьому діапазоні. Потужна потужність p k є максимальною в діапазоні, якщо це найвища потужність p у цьому діапазоні. Нас цікавить лише максимальна потужність у кожному діапазоні, тому всі нижчі потужності мають бути виключені.
Ваша мета - написати функцію або програму, яка приймає додатне ціле число n та виводить максимальні прості сили в діапазоні [2, 3, 4, ..., n]
.
Дякуємо @ Пітеру Тейлору за уточнення визначення максимальної прем'єр-сили та багато іншого.
Правила
- Це код-гольф, тому зробіть свій код якомога коротшим.
- У максимальні головні повноваження можуть бути виведені в будь-якому порядку , але не повинно бути ніяких дублікатів.
Тестові справи
n result
1 []
2 [2]
3 [2, 3]
4 [3, 4]
5 [3, 4, 5]
6 [3, 4, 5]
7 [3, 4, 5, 7]
20 [5, 7, 9, 11, 13, 16, 17, 19]
50 [11, 13, 17, 19, 23, 25, 27, 29, 31, 32, 37, 41, 43, 47, 49]
100 [11, 13, 17, 19, 23, 25, 29, 31, 37, 41, 43, 47, 49, 53, 59, 61, 64, 67, 71, 73, 79, 81, 83, 89, 97]
10000 <1229 results>
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, ..., 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973]
Повний перелік максимальних простих потужностей на 10000 можна знайти тут .