对于n
满足的整数,请n > 0
根据其二进制表示形式将其值写为右降路径。
规则
- 第一个(最高有效)置位总是在左上角。
- 设置下一位(a
1
)后,在与上一个绘制的字符相同的列中的下一行绘制一个字符(“填充”)。尝试使用空格(“空”)进行填充,但是只要字符始终相同,任何字符都可以。 - 当下一位未设置(a
0
)时,在同一行上紧接着绘制的上一个字符的右侧绘制一个字符(“填充”)。 - 您的代码必须支持至少20个有效位的数字。
- 编写完整的程序,函数,lambda等,但不要编写任何代码段。
- 不允许前导空格(或“空”字符)/行
- 允许任意数量的尾随空格(或“空”字符)/行
- 可以接受任何类型的一维输入:数字,字符串,布尔数组等。不过,请保持位的顺序不变。
- 可以接受任何形式的可视2D输出:在stdout上,是一个字符串(任何两个不同的值分别表示“ filled”和“ empty”),如果需要,您甚至可以输出矩阵。数字列表似乎很难与“无标题空间”规则相协调,但是如果您找到使用它的方法,我将持开放态度。注意:如果选择打印或返回字符串,则使用的字符必须是代码点范围[32-126]中的ASCII字符。
- 禁止出现标准漏洞。
- 这是codegolf,所以最短的代码获胜。
例子
输入1
*
输入2
**
输入3
*
*
输入4
***
输入5
**
*
输入6
*
**
输入7
*
*
*
输入:25
*
***
*
输入:699050
**
**
**
**
**
**
**
**
**
**
输入:1047552
*
*
*
*
*
*
*
*
*
***********
输入:525311
**********
*
*
*
*
*
*
*
*
*
*
[1,0,1]
。
9
是1001
我想我的输入是0011
。这可以吗?
1
放在第一位是挑战的一部分,而(重新)移动该位将使挑战变得微不足道,因此恐怕我不得不对你说@TonHospel。不过,您可以将其从程序的输入中删除。