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 zNullen begonnen wird. Dabei zhandelt es sich um die Länge der positiven Ziffern, die wir in dieser Zeile verwenden. Die positiven Ziffern werden erstellt, 1indem 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 nund xgeben Sie die ersten (obersten) xZahlen der nachten 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 0s, sodass die Ausgabe nur x 0s ist.
Für Eingabe n = 15und x = 6Ausgabe wäre [1, 3, 4, 10, 11, 0].
Für Eingabe n = 29und x = 15Ausgabe wäre [1, 0, 6, 8, 15, 0, 0, 34, 39, 0, 0, 0, 0, 0, 120].
Für Eingabe n = 99und x = 25Ausgabe 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=1da das ergebnis von sapply nicht mehr in einer matrix ist. Dieses Update ist teuer. Ich frage mich, ob es ein Golfspiel gibt.