Considera la matrice infinita:
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 2 3 0 0 2 3 0 0 2 3 0 0 2 3
0 0 0 4 5 6 0 0 0 4 5 6 0 0 0 4 ...
0 0 0 0 7 8 9 10 0 0 0 0 7 8 9 10
0 0 0 0 0 11 12 13 14 15 0 0 0 0 0 11
...
Ogni nuova riga della matrice viene costruita iniziando con zzeri, dove zè la lunghezza delle cifre positive che stiamo usando in quella riga. Le cifre positive vengono costruite iniziando con 1e incrementando e aggiungendo una cifra aggiuntiva ogni volta che si ripetono le righe. Quel modello si ripete all'infinito a destra. Quindi, ad esempio, la prima riga inizia 0, 1, 0, 1...mentre inizia la seconda riga 0,0, 2,3, 0,0, 2,3.... Seguendo il modello, inizia la terza riga 0,0,0, 4,5,6, 0,0,0, 4,5,6....
Dati due numeri interi come input ne x, in output, i primi xnumeri (più in alto) della nth colonna della matrice sopra. (Puoi scegliere 0 o 1-indicizzazione per le colonne, basta specificare quale nella tua presentazione.)
Ad esempio, per l'input n = 0(indicizzato 0), la colonna è interamente 0s, quindi l'output sarebbe solo x 0s.
Per input n = 15e x = 6, l'output sarebbe [1, 3, 4, 10, 11, 0].
Per input n = 29e x = 15, l'output sarebbe [1, 0, 6, 8, 15, 0, 0, 34, 39, 0, 0, 0, 0, 0, 120].
Per input n = 99e x = 25, l'output sarebbe [1, 3, 4, 0, 15, 0, 0, 0, 37, 55, 56, 0, 87, 93, 0, 0, 151, 163, 176, 0, 0, 0, 0, 0, 325].
I / O e regole
- L'input e l'output possono essere forniti con qualsiasi metodo conveniente .
- Si può presumere che l'input e l'output si adattino al tipo di numero nativo della tua lingua.
- È accettabile un programma completo o una funzione. Se una funzione, è possibile restituire l'output anziché stamparlo.
- Sono vietate le scappatoie standard .
- Si tratta di code-golf quindi si applicano tutte le normali regole del golf e vince il codice più breve (in byte).
n=1perché il risultato di sapply non è più una matrice. questa soluzione è costosa mi chiedo se ce n'è una più golfista?