Définition
a(1) = 1
a(2) = 2
a(n)
est le plus petit nombrek>a(n-1)
qui évite toute progression arithmétique à 3 termes dansa(1), a(2), ..., a(n-1), k
.- En d'autres termes,
a(n)
est le plus petit nombrek>a(n-1)
tel qu'il n'existe pasx
,y
où0<x<y<n
eta(y)-a(x) = k-a(y)
.
Exemple élaboré
Pour n=5
:
On a a(1), a(2), a(3), a(4) = 1, 2, 4, 5
Si a(5)=6
, alors 2, 4, 6
formez une progression arithmétique.
Si a(5)=7
, alors 1, 4, 7
formez une progression arithmétique.
Si a(5)=8
, alors 2, 5, 8
formez une progression arithmétique.
Si a(5)=9
, alors 1, 5, 9
formez une progression arithmétique.
Si a(5)=10
, aucune progression arithmétique ne peut être trouvée.
Par conséquent a(5)=10
.
Tâche
Étant donné n
, la sortie a(n)
.
Spécifications
n
sera un entier positif.- Vous pouvez utiliser l'index 0 au lieu de l'index 1, auquel cas cela
n
peut l'être0
. Veuillez l'indiquer dans votre réponse si vous utilisez l'index 0.
Notation
Puisque nous essayons d'éviter la progression arithmétique à 3 termes, et 3 est un petit nombre, votre code devrait être aussi petit (c'est-à-dire court) que possible, en termes de nombre d'octets.
Cas de test
Les cas de test sont indexés 1. Vous pouvez utiliser l'index 0, mais veuillez le spécifier dans votre réponse si vous le faites.
1 1
2 2
3 4
4 5
5 10
6 11
7 13
8 14
9 28
10 29
11 31
12 32
13 37
14 38
15 40
16 41
17 82
18 83
19 85
20 86
10000 1679657
Références
- WolframMathWorld
- OEIS A003278
code-golf
sequence
arithmetic
Leaky Nun
la source
la source
Réponses:
Gelée , 4 octets
Essayez-le en ligne! ou vérifiez tous les cas de test .
Comment ça fonctionne
Cela utilise l'indexation basée sur 0 et la définition principale d' OEIS :
la source
Haskell,
37 3632 octetsEn utilisant la formule donnée dans l'entrée OEIS, en utilisant des indices basés sur 0. Merci @nimi pour 4 octets!
la source
Python 3, 28 octets
Une fonction anonyme qui prend l'entrée via un argument et renvoie le résultat. Ceci est indexé zéro.
Comment ça fonctionne
Essayez-le sur Ideone
la source
Python 3, 113 octets
Ideone it!
la source
Rubis,
2824 octetsEn utilisant la même méthode que Dennis, avec des index basés sur 0:
Exécutez les cas de test sur repl.it: https://repl.it/Cif8/1
la source
Pyke, 5 octets
Essayez-le ici!
Indexation basée sur 0
Même formule que la réponse de gelée
la source
Java 8,
5246 octets0 indexé.
la source
return
mais vous avez besoin du point-virgule après