Це послідовність A054261 .
- е просте число стримування є найменшим числом , яке містить перші простих чисел як подстрок. Наприклад, число є найменшим числом, яке містить перші 3 прайми в якості підрядків, що робить його 3-м простим номером стримування.
Неважливо зрозуміти, що перші чотири прості числа обмежень складають , , і , але потім стає цікавіше. Оскільки наступного простого числа - 11, наступний номер не є 235711 , але це оскільки він визначається як найменше число з властивістю.
Однак справжній виклик виникає, коли ви виходите за межі 11. Наступний номер основного стримування - . Зверніть увагу, що в цьому числі підрядки 11
та 13
перекриваються. Кількість3
також перекривається числом 13
.
Неважко довести, що ця послідовність збільшується, оскільки наступному номеру необхідно виконати всі критерії числа до нього та мати ще одну підрядку. Однак послідовність не суворо зростає, як показують результати за n=10
і n=11
.
Вхідні дані
Єдине ціле число n>0
(я думаю, ви також могли мати його 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
те саме число, оскільки - найменше число, яке містить усі числа , але воно також містить .
Оскільки це позначено кодом гольфу, займіться гольфу! Рішення грубої сили дозволені, але ваш код повинен працювати для будь-якого введення теоретично (це означає, що ви не можете просто об'єднати перші п-прайси). Щасливого гольфу!
P
створює оператор явне відображення, щоб перевірити наявність простих чисел у номері (замість того, щоб перевірити, чи є число у масиві простих чисел)? Це прекрасне рішення, я сумніваюся, ви могли б прийняти будь-яке рішення, використовуючи менше команд.