Это последовательность A054261 .
- е простое число сдерживания является наименьшим числом , которое содержит первые простых чисел как подстрок. Например, число - это наименьшее число, которое содержит первые 3 простых числа в качестве подстрок, что делает его третьим основным номером содержания.
Нетрудно понять, что первые четыре простых числа локализации - это , , и , но тогда это становится более интересным. Поскольку следующее простое число равно 11, следующее простое число не , но это так как оно определено как наименьшее число со свойством.
Однако настоящая проблема возникает, когда вы выходите за пределы 11. Следующее простое число сдерживания - . Обратите внимание, что в этом номере подстроки и перекрываются. Номер также совпадает с номером .11
13
3
13
Легко доказать, что эта последовательность увеличивается, так как следующее число должно соответствовать всем критериям числа перед ним и иметь еще одну подстроку. Однако последовательность строго не увеличивается, как показывают результаты для n=10
и n=11
.
вход
Одно целое число n>0
(я полагаю, вы могли бы также проиндексировать его, а затем сделать n>=0
)
Выход
Либо n
основной номер содержания, либо список, содержащий первые n
простые номера содержания.
Числа, которые я нашел до сих пор:
1 => 2
2 => 23
3 => 235
4 => 2357
5 => 112357
6 => 113257
7 => 1131725
8 => 113171925
9 => 1131719235
10 => 113171923295
11 => 113171923295
12 => 1131719237295
Обратите внимание, что n = 10
и n = 11
это одно и то же число, так как является самым низким числом, которое содержит все числа , но также содержит .
Так как это обозначено кодом гольф, получите гольф! Разрешены грубые решения, но ваш код должен работать для любого ввода в теории (это означает, что вы не можете просто объединить первые n простых чисел). Удачного игры в гольф!
P
оператор явное отображение для проверки простых чисел в числе (вместо проверки, находится ли число в массиве простых чисел)? Это красивое решение, я сомневаюсь, что вы могли бы сделать любое решение, используя меньше команд.