Voici les 100 premiers numéros d'une séquence simple:
0,1,0,2,1,4,3,7,6,11,10,16,15,22,21,29,28,37,36,46,45,56,55,67,66,79,78,92,91,106,105,121,120,137,136,154,153,172,171,191,190,211,210,232,231,254,253,277,276,301,300,326,325,352,351,379,378,407,406,436,435,466,465,497,496,529,528,562,561,596,595,631,630,667,666,704,703,742,741,781,780,821,820,862,861,904,903,947,946,991,990,1036,1035,1082,1081,1129,1128,1177,1176,1226
Comment fonctionne cette séquence?
n: 0 1 2 3 4 5 6 7 8 9 10 11 12
0, 1-1=0, 2-1=1, 4-1=3, 7-1=6, 11-1=10, 16-1=15,
0+1=1, 0+2=2, 1+3=4, 3+4=7, 6+5=11, 10+6=16, 15+7=22
a(0) = 0
- Pour chaque impair
n
(index 0), c'esta(n-1) + X
(oùX=1
et augmente de 1 à chaque fois qu'il est accédé) - Pour chaque pair
n
(indexé 0), c'esta(n-1) - 1
Défi:
Un des:
- Étant donné un entier en entrée
n
, sortez len
'ème nombre dans la séquence. - Étant donné un entier d'entrée
n
, sortez les premiersn
nombres de la séquence. - Sortez la séquence indéfiniment sans prendre d'entrée ( ou prendre une entrée vide non utilisée ).
Règles du défi:
- L'entrée
n
peut être indexée à 0 ou à 1. - Si vous sortez (une partie de) la séquence, vous pouvez utiliser une liste / tableau, imprimer sur STDOUT avec n'importe quel délimiteur (espace, virgule, nouvelle ligne, etc.). Ton appel.
- Veuillez indiquer laquelle des trois options vous avez utilisée dans votre réponse.
- Vous devrez prendre en charge au moins les 10 000 premiers numéros (le 10 000 e numéro est
12,497,501
).
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues autres que le golf de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse, vous êtes donc autorisé à utiliser STDIN / STDOUT, fonctions / méthode avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code.
- Veuillez également ajouter une explication si possible.
Cas de test:
Collez avec les 10 001 premiers chiffres de la séquence. N'hésitez pas à choisir celui que vous souhaitez.
Quelques chiffres plus élevés:
n (0-indexed) Output:
68,690 589,772,340
100,000 1,249,975,000
162,207 3,288,888,857
453,271 25,681,824,931
888,888 98,765,012,346
1,000,000 124,999,750,000
ÎGDN+D<
génère la séquence, mais saisir le nième élément semble ... difficile en 3 octets.