Früher verwendeten Telefonautodialer Lochkarten mit einer Spalte für jede Ziffer der zu wählenden Nummer. Die Spalten hatten sieben Zeilen. Die ersten drei Zeilen repräsentierten die Zahlen (1,2,3), (4,5,6) bzw. (7,8,9). Die letzten drei Reihen haben diese Anordnung um 90 ° gedreht: (1,4,7), (2,5,8) und (3,6,9). Die mittlere Reihe wurde für 0 verwendet. Bei jeder Ziffer 1-9 wurden zwei Löcher gestanzt - eines in den ersten drei Reihen und eines in den unteren drei Reihen. Null hätte nur die mittlere Reihe gestanzt. Lassen Sie uns die gelochte Spalte für die Nummer 6 visualisieren ( .
ist ungelocht, x
ist gelocht, die linke Anleitung dient nur zur Veranschaulichung der Codierung):
123 .
456 x
789 .
0 .
147 .
258 .
369 x
Wir suchen nach den Zeilen, in denen sich die Nummer befindet, die wir wählen möchten. Für 6 ist dies die zweite und die neunte Reihe. Diese beiden Reihen werden gestanzt, die restlichen fünf Reihen werden ausgestanzt. Hier sind die Lochmuster für alle Ziffern 0-9:
0 1 2 3 4 5 6 7 8 9
123 . x x x . . . . . .
456 . . . . x x x . . .
789 . . . . . . . x x x
0 x . . . . . . . . .
147 . x . . x . . x . .
258 . . x . . x . . x .
369 . . . x . . x . . x
Ihr Ziel ist es, diese Karten für mich zu lochen (ein Programm oder eine Funktion zu schreiben).
Eingabe: Eine Zahl, die in einem vernünftigen Format (Zeichenfolge, Ganzzahl, Liste von Ganzzahlen usw.) verwendet wird und 9999999999999 nicht überschreitet.
Ausgabe: Das der Zahleneingabe entsprechende Raster aus gelochten Spalten. Die oben gezeigten Überschriften oder zusätzlichen Abstände sind nicht erforderlich, nur die gelochten Spalten. Führende / nachfolgende Zeilenumbrüche sind in Ordnung, ebenso wie Leerzeichen zwischen Zeilen / Spalten, sofern dies konsistent ist . Apropos, solange sie konsistent sind, können Sie ein beliebiges (Nicht-Leerzeichen-) Zeichen für das Lochen und ein beliebiges anderes Zeichen für das Nicht-Lochen verwenden (obwohl dies offensichtlich sein sollte, geben Sie bitte an, welche Zeichen Sie verwenden).
Das ist Code-Golf, also gewinnt der kürzeste Code. Standardlücken sind nicht zulässig.
Testfälle (alle .
zum Ausstanzen, x
zum Ausstanzen):
In: 911
Out: .xx
...
x..
...
.xx
...
x..
In: 8675309
Out: ....x..
.x.x...
x.x...x
.....x.
..x....
x..x...
.x..x.x
In: 5553226
Out: ...xxx.
xxx...x
.......
.......
.......
xxx.xx.
...x..x