À l'époque, les composeurs automatiques de téléphone utilisaient des cartes perforées avec une colonne pour chaque chiffre du numéro à composer. Les colonnes avaient sept rangées. Les trois premières lignes représentaient les nombres (1,2,3), (4,5,6) et (7,8,9) respectivement. Les trois dernières rangées ont fait pivoter cet arrangement de 90 °: (1,4,7), (2,5,8) et (3,6,9). La rangée du milieu a été utilisée pour 0. Tout chiffre 1-9 aurait deux trous perforés - un dans les trois premières rangées et un dans les trois rangées inférieures. Zéro aurait seulement frappé la rangée du milieu. Visualisons la colonne poinçonnée pour le numéro 6 ( .non xpoinçonnée, poinçonnée, le guide à gauche est juste pour illustrer l'encodage):
123 .
456 x
789 .
0 .
147 .
258 .
369 x
Nous recherchons quelles lignes contiennent le numéro que nous essayons de composer. Pour 6, il s'agit de la deuxième rangée et de la neuvième rangée. Ces deux lignes sont perforées, les cinq lignes restantes ne sont pas perforées. Voici les motifs perforés pour tous les chiffres de 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
Votre objectif est de (écrire un programme ou une fonction pour) perforer ces cartes pour moi.
Entrée: Un nombre, pris dans n'importe quel format raisonnable (chaîne, entier, liste d'entiers, etc.), ne dépassant pas 9999999999999.
Sortie: La grille de colonnes perforées correspondant à l'entrée numérique. Vous n'avez pas besoin des en-têtes ou de l'espacement supplémentaire indiqués ci-dessus, juste des colonnes perforées elles-mêmes. Les sauts de ligne de début / fin sont corrects, tout comme les espaces entre les lignes / colonnes tant qu'ils sont cohérents . En parlant de cela, tant qu'ils sont cohérents, vous pouvez utiliser n'importe quel caractère (non blanc) pour le poinçonnage et tout autre caractère pour le non-poinçonnage (alors que cela devrait être évident, veuillez spécifier les caractères que vous utilisez).
C'est le code-golf, donc le code le plus court l'emporte. Les failles standard ne sont pas autorisées.
Cas de test (tous utilisés .pour non perforé, xpour perforé):
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