Betrachten Sie die unendliche Matrix:
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
...
Jede neue Zeile der Matrix wird erstellt, indem mit z
Nullen begonnen wird. Dabei z
handelt es sich um die Länge der positiven Ziffern, die wir in dieser Zeile verwenden. Die positiven Ziffern werden erstellt, 1
indem jedes Mal, wenn Sie Zeilen durchlaufen, mit einer zusätzlichen Ziffer begonnen, diese erhöht und hinzugefügt wird. Dieses Muster wird unendlich rechts wiederholt. So beginnt beispielsweise die erste Reihe, 0, 1, 0, 1...
während die zweite Reihe beginnt 0,0, 2,3, 0,0, 2,3...
. Nach dem Muster beginnt die dritte Reihe 0,0,0, 4,5,6, 0,0,0, 4,5,6...
.
Geben Sie zwei Ganzzahlen als Eingabe ein n
und x
geben Sie die ersten (obersten) x
Zahlen der n
achten Spalte der obigen Matrix aus. (Sie können 0- oder 1-Indizierung für die Spalten auswählen, geben Sie einfach an, welche in Ihrer Einreichung.)
Bei der Eingabe n = 0
(0-indiziert) ist die Spalte beispielsweise vollständig 0
s, sodass die Ausgabe nur x
0
s ist.
Für Eingabe n = 15
und x = 6
Ausgabe wäre [1, 3, 4, 10, 11, 0]
.
Für Eingabe n = 29
und x = 15
Ausgabe wäre [1, 0, 6, 8, 15, 0, 0, 34, 39, 0, 0, 0, 0, 0, 120]
.
Für Eingabe n = 99
und x = 25
Ausgabe wäre [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 und Regeln
- Die Eingabe und Ausgabe kann durch jede bequeme Methode erfolgen .
- Es kann davon ausgegangen werden, dass die Eingabe und Ausgabe in den Typ Ihrer Muttersprache passen.
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
n=1
da das ergebnis von sapply nicht mehr in einer matrix ist. Dieses Update ist teuer. Ich frage mich, ob es ein Golfspiel gibt.