Для целого числа, n
которое удовлетворяет n > 0
, запишите его значение как нисходящий путь на основе его двоичного представления.
правила
- Первый (самый значимый) установленный бит всегда находится в верхнем левом углу.
- Когда следующий бит установлен (a
1
), нарисуйте символ («заполненный») на следующей строке в том же столбце, что и предыдущий нарисованный символ. Попробуйте использовать пробелы («пусто») для заполнения, но любой символ будет делать, если он всегда одинаков. - Когда следующий бит не установлен (a
0
), нарисуйте символ («заполненный») в той же строке непосредственно справа от предыдущего нарисованного символа. - Ваш код должен поддерживать числа по крайней мере с 20 значащими битами.
- Напишите полную программу, функцию, лямбду и т. Д., Но без фрагмента.
- Не допускаются начальные пробелы (или "пустые" символы) / строки
- Разрешено любое количество конечных пробелов (или «пустых» символов) / строк
- Допускается любой вид одномерного ввода: число, строка, массив логических значений и т. Д. Однако порядок битов не трогайте.
- Допускается любой вид визуального 2D-вывода: в stdout, строке (с любыми двумя различными значениями, представляющими «заполненный» и «пустой»), вы даже можете вывести матрицу, если хотите. Список чисел, кажется, трудно согласовать с правилом «без пробелов», но я открыт для него, если вы найдете способ его использовать. Примечание: если вы решили напечатать или вернуть строку, используемые символы должны быть символами ASCII в диапазоне кодовых точек [32-126].
- Стандартные лазейки запрещены.
- Это Codegolf, поэтому выигрывает самый короткий код.
Примеры
Вход: 1
*
Вход: 2
**
Вход: 3
*
*
Вход: 4
***
Вход: 5
**
*
Вход: 6
*
**
Вход: 7
*
*
*
Вход: 25
*
***
*
Вход: 699050
**
**
**
**
**
**
**
**
**
**
Ввод: 1047552
*
*
*
*
*
*
*
*
*
***********
Вход: 525311
**********
*
*
*
*
*
*
*
*
*
*
[1,0,1]
, да.
9
это 1001
я хотел бы мой вклад , чтобы быть 0011
. Это нормально?
1
первым - это часть задачи, и (пере) переместить этот бит будет тривиальным вызовом, поэтому я боюсь, что мне придется сказать вам «нет», @TonHospel. Вы можете удалить его из вашего ввода в программе, хотя.