Простая степень - это положительное целое число 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 в этом диапазоне. Наглядным мощность р к является максимальным в диапазоне , если это наивысшая степень р в этом диапазоне. Нас интересует только максимальная первичная степень в каждом диапазоне, поэтому все нижние простые степени должны быть исключены.
Ваша цель - написать функцию или программу, которая принимает положительное целое число n и выводит максимальные простые степени в диапазоне [2, 3, 4, ..., n]
.
Спасибо @ Peter Taylor за разъяснение определения максимальной простой мощности и многое другое.
правила
- Это код-гольф, поэтому сделайте ваш код как можно короче.
- В максимальные главные полномочия могут быть выведены в любом порядке , но не должно быть никаких дубликатов.
Контрольные примеры
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 можно найти здесь .