Hier ist ein einfacher Code in Bite-Größe (Byte-Größe?): Bei einer nicht leeren Liste positiver Ganzzahlen von weniger als 10 wird eine blockdiagonale Matrix gedruckt , wobei die Liste die Größe der Blöcke in der angegebenen Reihenfolge angibt. Die Blöcke müssen aus positiven ganzen Zahlen kleiner als 10 bestehen. Wenn Sie also als Eingabe angegeben werden
[5 1 1 2 3 1]
Ihre Ausgabe könnte zum Beispiel sein,
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1
oder
1 2 3 4 5 0 0 0 0 0 0 0 0
6 7 8 9 1 0 0 0 0 0 0 0 0
2 3 4 5 6 0 0 0 0 0 0 0 0
7 8 9 1 2 0 0 0 0 0 0 0 0
3 4 5 6 7 0 0 0 0 0 0 0 0
0 0 0 0 0 8 0 0 0 0 0 0 0
0 0 0 0 0 0 9 0 0 0 0 0 0
0 0 0 0 0 0 0 1 2 0 0 0 0
0 0 0 0 0 0 0 3 4 0 0 0 0
0 0 0 0 0 0 0 0 0 5 6 7 0
0 0 0 0 0 0 0 0 0 8 9 1 0
0 0 0 0 0 0 0 0 0 2 3 4 0
0 0 0 0 0 0 0 0 0 0 0 0 5
oder etwas ähnliches. Die Elemente in der Matrix müssen durch (einzelne) Leerzeichen und die Zeilen durch (einzelne) Zeilenumbrüche getrennt sein. Es dürfen keine führenden oder nachfolgenden Leerzeichen in den Zeilen stehen. Möglicherweise drucken Sie eine nachgestellte Zeile oder nicht.
Sie können eine Funktion oder ein Programm schreiben, indem Sie eine Eingabe über STDIN (oder die nächstgelegene Alternative), ein Befehlszeilenargument oder ein Funktionsargument in einem beliebigen geeigneten Zeichenfolge- oder Listenformat vornehmen (sofern es nicht vorverarbeitet ist). Das Ergebnis muss jedoch an STDOUT (oder die nächstgelegene Alternative) ausgegeben werden, anstatt beispielsweise von einer Funktion zurückgegeben zu werden.
Sie dürfen keine eingebauten Funktionen zum Erstellen von Blockdiagonalmatrizen verwenden.
Dies ist Codegolf, daher gewinnt die kürzeste Übermittlung (in Bytes).
Bestenlisten
Ich erwarte, dass die Array-basierten Sprachen (wie J und APL) hier die Nase vorn haben, aber ich möchte nicht, dass die Leute davon abgehalten werden, so gut wie möglich in der Sprache ihrer Wahl zu arbeiten. Hier ist also ein Stack-Snippet, um sowohl eine reguläre Rangliste als auch eine Übersicht der Gewinner nach Sprache zu generieren. Warum also nicht versuchen, einen Platz auf letzterem zu ergattern?
Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift. Verwenden Sie dazu die folgende Markdown-Vorlage:
# Language Name, N bytes
Wo N
ist die Größe Ihres Beitrags? Wenn Sie Ihren Score zu verbessern, Sie können alte Rechnungen in der Überschrift halten, indem man sich durch das Anschlagen. Zum Beispiel:
# Ruby, <s>104</s> <s>101</s> 96 bytes
[:=/~]#<\
in Ihrer Punktzahl zählen. Auch=/~@#<\
für zwei zusätzliche Bytes rasiert.