Ґрунтовка прістінського світу


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

Гольф, пояснення тощо.



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.