Considérez la matrice infinie:
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
...
Chaque nouvelle ligne de la matrice est construite en commençant par des z
zéros, où z
est la longueur des chiffres positifs que nous utilisons dans cette ligne. Les chiffres positifs sont construits en commençant par 1
et en incrémentant et en ajoutant un chiffre supplémentaire chaque fois que vous itérez des lignes. Ce motif se répète infiniment vers la droite. Ainsi, par exemple, la première ligne démarre 0, 1, 0, 1...
tandis que la deuxième ligne démarre 0,0, 2,3, 0,0, 2,3...
. En suivant le modèle, la troisième ligne commence 0,0,0, 4,5,6, 0,0,0, 4,5,6...
.
Étant donné deux entiers en entrée n
et x
en sortie, les premiers x
nombres (les plus élevés ) de la n
e colonne de la matrice ci-dessus. (Vous pouvez choisir l'indexation 0 ou 1 pour les colonnes, il suffit de spécifier laquelle dans votre soumission.)
Par exemple, pour l'entrée n = 0
(indexée sur 0), la colonne est entièrement 0
s, donc la sortie serait juste x
0
s.
Pour l'entrée n = 15
et x = 6
, la sortie serait [1, 3, 4, 10, 11, 0]
.
Pour l'entrée n = 29
et x = 15
, la sortie serait [1, 0, 6, 8, 15, 0, 0, 34, 39, 0, 0, 0, 0, 0, 120]
.
Pour l'entrée n = 99
et x = 25
, la sortie serait [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]
.
E / S et règles
- L'entrée et la sortie peuvent être fournies par n'importe quelle méthode pratique .
- L'entrée et la sortie peuvent être supposées correspondre au type de numéro natif de votre langue.
- 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.
n=1
car le résultat de sapply n'est plus une matrice. cette solution est coûteuse je me demande s'il y en a une de golfeur?rep
avec unn
intérieur lesapply
, ce qui a sauvé un octet, mais je me suis souvenu que lesfor
boucles sont plus courtes quesapply
parce que je n'aurais pas à définir de fonction.Python 2 , 69 octets
Essayez-le en ligne!
la source
APL (Dyalog Classic) ,
272423 octets-1 grâce à @FrownyFrog
Essayez-le en ligne!
la source
MATL ,
2518 octetsEssayez-le en ligne!
Merci à Luis Mendo d'avoir joué au golf 6 octets!
Il s'agit essentiellement d'un port MATL de ma réponse R.
la source
K (ngn / k) ,
3331 octetsEssayez-le en ligne!
la source
Husk , 14 octets
L'argument
n
(premier) est indexé 1, essayez-le en ligne!Alternativement, nous pourrions utiliser
↑!TṠzo¢+†K0CNN
pour le même nombre d'octets.Explication
la source
Husk ,
2119 octetsPrend alors les arguments comme
n
(1-indexé)x
.Enregistrement de 2 octets grâce à BMO, mais toujours pas aussi court que la réponse de BMO.
Ma première tentative d'utilisation de Husk.
Essayez-le en ligne!
la source
Haskell , 75 octets
Essayez-le en ligne!
la source
Python 2 , 55 octets
Essayez-le en ligne!
Développé indépendamment; mais je note que cela finit par être un portage de la réponse Javascript d' Arnauld .
la source
Perl 5
-n
, 52 octetsEssayez-le en ligne!
la source
Gelée , 11 octets
Essayez-le en ligne!
-1 merci à Jonathan Allan .
Argument 1: x
Argument 2: n + 1
la source
0ṁ;Ɗ
->¬;$
enregistre un octet.’R
... (c'est-à-dire, au moins pour moi) Ce qui est bizarre, c'est qu'au cours des derniers jours, j'ai pensé à la séquence Thue-Morse (qui, dans Jelly, contient;¬$
).05AB1E , 25 octets
Essayez-le en ligne!
05AB1E va avec des matrices comme le dentifrice et le jus d'orange, mais pas un mauvais nombre d'octets compte tenu de la gravité de ma mise en œuvre. Même mon code se moque de moi "
LO©L
".la source
Fusain , 19 octets
Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:
L'extrait de code
EιL⊞Oυω
génère lesi
entiers suivants en expédiant une valeur fictive à un tableau à chaque passage dans la boucle et en prenant la longueur du tableau résultant.la source
Java 8,
656360 octetsn
est indexé 0,x
est indexé 1, sort les nombres délimités et inversés.Port de la réponse JavaScript (ES6) de @ Arnauld .
Essayez-le en ligne.
Un résultat joli imprimé dans l'ordre correct est de
86 octets plus long: Essayez-le en ligne.la source
Haskell, 67 octets
Essayez-le en ligne!
la source