UniLecs #Task. Цифровое табло
Задача: недавно мы разрабатывали алгоритм цифрового табло для электронной очереди в больнице. Теперь у нас менее серъезная задача: необходимо написать алгоритм вывода числа на дисплее цифрового табло.
Входные данные: x — натуральное число от 0 до (2⁶³ — 1).
Вывод: число, представленное на дисплее цифрового табло.
Пример: x = 123
Output:
Примечание: каждая цифра в цифровом табло представлена 7-ми сегментным индикатором. Например, все 7 сегментов горят для цифры 8 и всего 2 сегмента для единицы.
Разбор
Итак, нам нужно смоделировать работу 7ми сегментного индикатора, который представляет одну цифру. Каждый сегмент индикатора — линия, горизонтальная или вертикальная.
В качетсве вертикальной линии будем использовать символ ‘|’, в качестве горизонтальной — ‘_’.
Например цифра 9 будет выглядеть так:
Если представить эту цифру в виде строки, то получим “ _\n|_|\n _|”. Условно мы можем разделить каждую цифру на три слоя: верхний, средний и нижний и будем выводить сначала все верхние слои, потом все средние, потом все нижние.
Наглядный пример для осознания идеи. Выводим число 123:
1 строчка, которую мы выводим: _ _
2 строчка, которую мы выводим: | _| _|
3 строчка, которую мы выводим: ||_ _|
Реализация
https://gist.github.com/unilecs/6300b7eba53bd7d8412c8c5cb2c14a17