Définition de séquence
Construisez une séquence d'entiers positifs a(n)
comme suit:
a(0) = 4
- Chaque terme
a(n)
, autre que le premier, est le plus petit nombre qui satisfait aux conditions suivantes:
a)a(n)
est un nombre composite,
b)a(n) > a(n-1)
, et
c)a(n) + a(k) + 1
est un nombre composite pour chacun0 <= k < n
.
Nous commençons donc par a(0) = 4
. L'entrée suivante a(1)
doit être 9
. Cela ne peut pas être 5
ou 7
puisque ceux-ci ne sont pas composites, et cela ne peut pas être 6
ou 8
parce que ce 6+4+1=11
n'est pas composite et 8+4+1=13
n'est pas composite. Enfin, 9+4+1=14
ce qui est composite, donc a(1) = 9
.
L'entrée suivante a(2)
doit être 10
, car c'est le plus petit nombre plus grand 9
qu'avec 10+9+1=20
et les 10+4+1=15
deux composites.
Pour l'entrée suivante, 11
et 13
sont tous deux sortis car ils ne sont pas composites. 12
est sorti parce que 12+4+1=17
ce n'est pas composite.14
est sorti parce que 14+4+1=19
ce n'est pas composite. Ainsi, 15
est le prochain terme de la séquence , car 15
est composite et 15+4+1=20
, 15+9+1=25
et 15+10+1=26
sont tous chaque composite, donc a(3) = 15
.
Voici les 30 premiers termes de cette séquence:
4, 9, 10, 15, 16, 22, 28, 34, 35, 39, 40, 46, 52, 58, 64, 70, 75, 76, 82, 88, 94, 100, 106, 112, 118, 119, 124, 125, 130, 136
Il s'agit d' OEIS A133764 .
Défi
Étant donné un entier en entrée n
, sortez le n
e terme dans cette séquence.
Règles
- Vous pouvez choisir une indexation basée sur 0 ou 1. Veuillez indiquer lequel dans votre soumission.
- L'entrée et la sortie peuvent être supposées correspondre au type d'entier natif de votre langue.
- L'entrée et la sortie peuvent être fournies par n'importe quelle méthode pratique .
- Un programme complet ou une fonction sont acceptables. S'il s'agit d'une fonction, vous pouvez renvoyer la sortie plutôt que de l'imprimer.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) l'emporte.
Réponses:
Husk , 11 octets
1 indexé. Essayez-le en ligne!
Explication
la source
Perl 6 , 70 octets
Essayez-le 0 indexé
Étendu:
la source
Python 2 ,
112107 octetsmerci à M. Xcoder pour un octet.
Essayez-le en ligne!
Python 2 ,
115109 octetsEssayez-le en ligne!
la source
JavaScript (ES6), 83 octets
1 indexé
Démo
Afficher l'extrait de code
Commenté
Fonction d'assistance P () , renvoyant vrai si n est premier, ou faux sinon:
NB: Il faut l'appeler avec x = n .
Fonction principale f () :
la source
05AB1E , 21 octets
0 indexé
Essayez-le en ligne!
la source
Wolfram Language (Mathematica) , 65 octets
Utilise le codage CP-1252 (Windows par défaut). 1 indexé.
Essayez-le en ligne!
la source
Java 8,
186173 octets0 indexé.
Malheureusement, les prime-checks (ou les anti-prime / composites dans ce cas) ne sont pas si bon marché en Java.
Explication:
Essayez-le en ligne.
la source
Ruby +
-rprime
,8575 octetsEssayez-le en ligne!
Un lambda renvoyant le nième élément indexé 0.
-10 octets: utilisation
redo
et un opérateur ternaire au lieu deloop
...break
et une chaîne conditionnelleNon golfé:
la source
C (gcc) , 170 octets
Essayez-le en ligne!
la source
C (gcc) ,
140138 octetsMerci à @Jonathan Frech d'avoir économisé deux octets!
0 indexé
Essayez-le en ligne!
la source
++k,j=0
peut être deux foisj=!++k
, 138 octets .