Вдохновленный программированием нетронутого мира . Также тесно связано с этой проблемой .
Давайте определим первичное простое число как число, которое само по себе простое, но больше не будет простым, если вы удалите любую непрерывную подстроку из 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: