In passato, gli autodialer telefonici utilizzavano schede perforate con una colonna per ogni cifra del numero da comporre. Le colonne avevano sette file. Le prime tre righe rappresentavano rispettivamente i numeri (1,2,3), (4,5,6) e (7,8,9). Le ultime tre file hanno ruotato questa disposizione di 90 °: (1,4,7), (2,5,8) e (3,6,9). La riga centrale è stata usata per 0. Ogni cifra 1-9 avrebbe due fori: uno nelle prime tre file e uno nelle tre file in basso. Zero avrebbe solo un pugno nella riga centrale. Visualizziamo la colonna punzonata per il numero 6 (non .è perforata, xè perforata, la guida a sinistra è solo per illustrare la codifica):
123 .
456 x
789 .
0 .
147 .
258 .
369 x
Cerchiamo quali righe contengono il numero che stiamo cercando di comporre. Per 6, questa è la seconda riga e la nona riga. Queste due righe vengono perforate, le restanti cinque righe non vengono scrutate. Ecco i motivi perforati per tutte le cifre 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
Il tuo obiettivo è (scrivere un programma o una funzione per) dare un pugno a queste carte per me.
Input: un numero, preso in qualsiasi formato ragionevole (stringa, intero, elenco di numeri interi, ecc.), Non superiore a 9999999999999.
Output: la griglia di colonne perforate corrispondente all'immissione del numero. Non sono necessarie le intestazioni o la spaziatura aggiuntiva mostrate sopra, ma solo le colonne perforate stesse. Le nuove righe iniziali / finali sono ok, così come lo spazio tra righe / colonne purché sia coerente . A proposito, purché siano coerenti, è possibile utilizzare qualsiasi carattere (non bianco) per i pugni e qualsiasi altro carattere per non battuto (mentre dovrebbe essere ovvio, si prega di specificare quali caratteri si stanno utilizzando).
Questo è code-golf, quindi vince il codice più corto. Le scappatoie standard non sono ammesse.
Casi di test (tutti usati .per non perforati, xperforati):
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