Ще в той день телефонні автомайдани використовували перфокарти з одним стовпцем для кожної цифри номера, що набирається. Стовпці мали сім рядів. Перші три ряди представляли числа (1,2,3), (4,5,6) та (7,8,9) відповідно. Останні три ряди обертали цю схему на 90 °: (1,4,7), (2,5,8) та (3,6,9). Середній ряд використовувався для 0. Будь-яка цифра 1-9 мала б два отвори - один у перших трьох рядах, а один у нижньому три ряди. Нуль мав би пробити лише середній ряд. Давайте візуалізуємо перфорований стовпчик для числа 6 ( .
є незапущеним, x
пробитим, керівництво зліва - лише для ілюстрації кодування):
123 .
456 x
789 .
0 .
147 .
258 .
369 x
Ми шукаємо, який рядок (и) містить номер, який ми намагаємось набрати. Для 6 це другий ряд, а дев'ятий ряд. Ці два ряди пробиваються першими, решта п’ять рядів незапущені. Ось перфоровані схеми для всіх цифр 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
Ваша мета - (написати програму або функцію) пробити ці картки для мене.
Введення: Число, прийняте у будь-якому розумному форматі (рядок, ціле число, список цілих чисел та & c), що не перевищує 9999999999999.
Вихід: сітка перфорованих стовпців, що відповідає вводу числа. Вам не потрібні заголовки або додаткові відстані, показані вище, просто самі пробиті колонки. Провідні / кінцеві нові рядки в порядку, як і пробіл між рядками / стовпцями , доки це є послідовним . Якщо говорити про те, доки вони несуперечливі, ви можете використовувати будь-який (непробільний проміжок) символ для удару, а будь-який інший символ для незбитого (хоча це має бути очевидним, вкажіть, які символи ви використовуєте).
Це код-гольф, тому найкоротший код виграє. Стандартні лазівки заборонені.
Тестові випадки (усі використовуються .
для незабитого, x
для перфорованого):
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