Les nombres premiers récursivement sont une séquence de nombres premiers tels que
p(1) = 2
p(n) = the p(n-1)th prime
Voici un exemple de la façon dont on pourrait calculer le 4ème Prime Prime récursivement.
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
Vous devez écrire un programme ou une fonction qui, lorsque n est donné, génère le nième Prime Prime récursivement.
Vous pouvez choisir d'utiliser l'indexation basée sur 0 si vous le souhaitez, auquel cas vous devez l'indiquer dans votre réponse.
Il s'agit de code-golf , l'objectif est donc de minimiser le nombre d'octets.
Cas de test
1 -> 2
2 -> 3
3 -> 5
4 -> 11
5 -> 31
6 -> 127
7 -> 709
8 -> 5381
9 -> 52711
Entrée OEIS pertinente: OEIS A007097
⁸
.¡
que les nilades comme répétitions et par défaut à saisir si aucune n'est trouvée?<f><n>¡
accepte heureusement les atomes monadiques ou dyadiques pour<n>
. Cependant, si<f>
est un nilad, quelque chose doit être faux, il est donc analysé comme à la<f>¡
place et prend la dernière entrée (dernier argument de ligne de commande, STDIN s'il n'y en a pas) comme à la<n>
place.JavaScript (ES6), 71 octets
Non golfé, vous avez trois fonctions récursives distinctes:
P
détermine sin
est premier;N
trouve len
e premier;p
fonctionne récursivementN
sur les1
n
temps d' entrée .la source
MATL , 6 octets
Essayez-le en ligne!
Explication
la source
R,
9893 octets5 octets grâce à @smci
Voici une solution récursive horriblement inefficace:
Sortie de test:
la source
a<-ifelse(m==0,j,f(m-1,j))
if
utilisé comme ça auparavant ... plutôt cool !!Bash + utilitaires communs, 55
Puisque nous faisons des nombres premiers récursifs, voici une réponse récursive:
Étant donné que le comptage des niveaux de récursivité est basé sur la
$SHLVL
variable intégrée, la réponse peut être désactivée si vous avez déjà quelques niveaux de shell en profondeur. C'est probablement pourquoi cette réponse ne fonctionne pas sur TIO.Si ce n'est pas bon, voici une réponse plus conventionnelle:
Bash + utilitaires communs, 58
Essayez-le en ligne .
la source
Haskell , 58 octets
1 indexé
Essayez-le en ligne!
Explication:
Utilise la même astuce d'accès à la liste principale indexée 0 que la réponse d'Adnan .
Sinon, le rectangle suit la spécification autrement.
la source
05AB1E , 4 octets
Essayez-le en ligne!
Explication
la source
Wonder , 23 octets
1 indexé. Usage:
Explication
la source