Рекурсивно простые числа - это последовательность простых чисел, такая что
p(1) = 2
p(n) = the p(n-1)th prime
Вот пример того, как можно вычислить 4-й Рекурсивно Премьер Прайм.
p(4) = the p(3)th prime
p(3) = the p(2)th prime
p(2) = the p(1)th prime
p(1) = 2
p(2) = the 2nd prime
p(2) = 3
p(3) = the 3rd prime
p(3) = 5
p(4) = the 5th prime
p(4) = 11
Вы должны написать программу или функцию, которая, если дано n, выдает n-ную рекурсивную простую первую строку.
Вы можете использовать индексирование на основе 0, если хотите, и в этом случае вы должны указать это в своем ответе.
Это код-гольф, поэтому цель состоит в том, чтобы минимизировать количество байтов.
Тестовые случаи
1 -> 2
2 -> 3
3 -> 5
4 -> 11
5 -> 31
6 -> 127
7 -> 709
8 -> 5381
9 -> 52711
Соответствующая запись OEIS : OEIS A007097
⁸
.¡
принимает ли nilads только повторения и по умолчанию вводит, если ничего не найдено?<f><n>¡
счастливо принимает монадические или диадические атомы для<n>
. Однако если<f>
это nilad, что-то должно быть не так, поэтому он анализируется как<f>¡
вместо и принимает последний ввод (последний аргумент командной строки, STDIN, если его нет), как<n>
взамен.JavaScript (ES6), 71 байт
Ungolfed, у вас есть три отдельные рекурсивные функции:
P
определяет,n
является ли простое число;N
находитn
простое число;p
рекурсивно работаетN
на1
n
время ввода .источник
MATL , 6 байтов
Попробуйте онлайн!
объяснение
источник
R,
9893 байта5 байтов благодаря @smci
Вот ужасно неэффективное рекурсивное решение:
Тестовый вывод:
источник
a<-ifelse(m==0,j,f(m-1,j))
if
такого раньше ... довольно круто!Баш + коммунальные услуги, 55
Поскольку мы делаем рекурсивные простые числа, вот рекурсивный ответ:
Поскольку подсчет уровней рекурсии основан на
$SHLVL
встроенной переменной, то ответ может быть отключен, если вы уже имеете несколько уровней оболочки. Вероятно, поэтому этот ответ не работает на TIO.Если это не хорошо, то вот более обычный ответ:
Баш + коммунальные услуги, 58
Попробуйте онлайн .
источник
Haskell , 58 байт
1-индексированных
Попробуйте онлайн!
Объяснение:
Использует тот же трюк с доступом к первому списку с 0 индексами, что и ответ Аднана .
По существу, прямо следуют спецификации в противном случае.
источник
05AB1E , 4 байта
Попробуйте онлайн!
объяснение
источник
Чудо , 23 байта
1-индексироваться. Использование:
объяснение
источник