Сильно натхненний програмуванням приштинського світу . Також тісно пов'язаний з цим викликом .
Давайте визначимо незайманий простим числом як число, яке саме по собі є простим, але більше не буде простим, якщо ви видалите будь-яку суміжну підрядку з 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: