Ecco i primi 100 numeri di una sequenza semplice:
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
Come funziona questa sequenza?
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
- Per ogni pari
n
(0-indicizzato), èa(n-1) + X
(doveX=1
e aumenta di 1 ogni volta che si accede) - Per ogni pari
n
(0-indicizzato), lo èa(n-1) - 1
Sfida:
Uno di:
- Dato un numero intero di input
n
, emette iln
'th numero nella sequenza. - Dato un numero intero di input
n
, emette i primin
numeri della sequenza. - Emette la sequenza indefinitamente senza prendere un input ( o prendere un input vuoto inutilizzato ).
Regole della sfida:
- L'ingresso
n
può essere indicizzato 0 o 1. - Se si genera (parte di) la sequenza, è possibile utilizzare un elenco / array, stampare su STDOUT con qualsiasi delimitatore (spazio, virgola, newline, ecc.). La tua chiamata.
- Indica quale delle tre opzioni hai utilizzato nella tua risposta.
- Dovrai supportare almeno i primi 10.000 numeri (il 10.000 ° è
12,497,501
).
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti e tipo di ritorno, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite .
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si prega di aggiungere una spiegazione, se possibile.
Casi test:
Pastebin con i primi 10,001 numeri nella sequenza. Sentiti libero di scegliere quello che desideri.
Alcuni numeri più alti:
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<
genera la sequenza, ma afferrare l'ennesimo elemento sembra ... difficile in 3 byte.