Заправка первозданного мира


11

Вдохновленный программированием нетронутого мира . Также тесно связано с этой проблемой .


Давайте определим первичное простое число как число, которое само по себе простое, но больше не будет простым, если вы удалите любую непрерывную подстроку из N оснований из 10 цифр, где 0 < N < digits in number.

Например, 409 - это простое простое число, потому что само 409 является простым, но все числа, полученные в результате удаления подстроки из 1 цифры, не являются простыми:

40
49
09 = 9

и все числа, полученные в результате удаления подстрок длины 2, не являются простыми:

4
9

С другой стороны, простое число 439 не является нетронутым. Удаление разных подстрок приводит к:

43
49
39
4
9

Хотя 49, 39, 4 и 9 не являются простыми, 43 является простым; таким образом, 439 не является первозданным.

2, 3, 5 и 7 тривиально нетронуты, так как не могут быть удалены подстроки.

Вызов

Ваша задача состоит в том, чтобы создать программу или функцию, которая принимает положительное целое число N и выдает N-е первичное простое число. Код должен завершиться менее чем за 1 минуту на любом современном ПК для любого ввода до 50.

Самый короткий код в байтах побеждает.

В качестве ссылки, вот первые 20 первичных простых чисел:

N    Pristine prime
1    2
2    3
3    5
4    7
5    11
6    19
7    41
8    61
9    89
10   409
11   449
12   499
13   821
14   881
15   991
16   6299
17   6469
18   6869
19   6899
20   6949

Вот полный список первичных простых чисел до 1e7, или N = 376.

Наконец, вот две связанные записи OEIS:

  • A033274 : очень похоже, но генерируется путем сохранения подстрок вместо их удаления.
  • A071062 : странно похожий, но сгенерированный совершенно другим способом.

Ответы:


5

Pyth, 29 байт

e.f>}ZPZsmq1lPs.D`Z}Fd.CU`Z2Q

Гольф, объяснения и т.д., чтобы следовать.



3

Japt, 61 байт

$while(V<U)T$°,W=Ts ,Tj «Wl o d@1o1-X+Wl)dZ{WjYZ n j} } ©V°;T

Попробуйте онлайн!

Жаль, что я еще не реализовал циклы в Japt, иначе это было бы немного короче. Все еще играю в гольф ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.