Дан массив положительных целых чисел в базе 10, где n > 0
выведите их представление двоичной стены.
Как это работает?
- Преобразуйте каждое число в его двоичное представление.
- Дополните представление начальными нулями до длины самого длинного, т.е.
1, 2
->1, 10
->01, 10
. - Создайте стену, где
1
s - кирпичи, а0
s - кирпичи.
Стена - это блок символов, где любой печатный символ представляет кирпич, а пробел ( 32
) - недостающий кирпич. Вы можете выбрать любой символ для кирпича, он не должен быть четким по всей стене, если он не является пробелом. Отсутствующий символ кирпича должен быть пробелом. Для примера ниже я использовал *
для кирпичей.
пример
Входные данные:
[ 15, 7, 13, 11 ]
[ 1111, 111, 1101, 1011 ]
[ 1111, 0111, 1101, 1011 ]
Выход:
**** *** ** * * **
правила
- Ввод должен быть сделан в базе 10, если ваш язык принимает другие базы, вы не можете их использовать.
- Передние и новые строки разрешены.
- Входные данные могут быть приняты в виде списка целых чисел, отдельных аргументов или любого разумного формата.
- Вывод может быть в любом приемлемом формате: строка, разделенная новой строкой, массив строк, 2d массив и т. Д.
- Стандартные лазейки запрещены.
Тестовые случаи
Обратите внимание, что в первом тестовом случае все слои имеют пустой кирпичик в конце.
[ 14, 4, 6, 2 ]
***
*
**
*
[ 1, 2, 4, 8, 16 ]
*
*
*
*
*
[ 15, 11, 15, 15 ]
****
* **
****
****
[ 11, 10, 9, 8 ]
* **
* *
* *
*
Это код гольф, поэтому выигрывает самый короткий код!
[[1, " ", 1, " "], ...]