免责声明
这个问题不是这个问题的重复。我没有在计算特定数字,因为我们已经在初始参数中设置了这些数字。这个问题集中在可以根据提供的数字从二进制字符串构造的十进制数。
挑战
给定两个整数X
和Y
,分别代表零(0
)和一((1
)的数量),计算所有可能的十进制等价物,这些等价物可以通过仅使用提供的零和一创建二进制字符串来确定,并将它们显示为输出。
范例1:
输入: 0 1
输出: 1
说明:1
只占一种,只能以一种方式转换。
范例2:
输入: 1 1
输出: 1,2
说明:01
转换为1,10
转换为2。
范例3:
输入: 3 2
输出: 3,5,6,9,10,12,17,18,20,24
说明:三0
和二1
构成00011
(3),00101
(5),00110
(6),01001
(9),01010
(10),01100
(12),10001
(17),10010
(18),10100
(20),11000
(24)
限制和规则
- 我只希望您的代码能在
0 < X + Y <= 16
这样的地方工作,所以输出中的最大数量只能从161
秒开始,即参数0
和16
。 - 由于上述限制,我们期望输出中的数字范围是
0
和65535
。 - 我将接受功能或代码,所以只要提供所得到的输出,这是否是一个逗号分隔的列表,阵列,输出到STDOUT列表等的唯一标准,我必须强调关于输出的是,它必须进行排序。
- 这是代码高尔夫,最少的字节将获得最大的荣耀。
- 我们不会容忍愚蠢的漏洞
0 0
吗?
0 <= X + Y <= 16
,所以是的,因为0 0
它将被视为满足该规则的有效输入。
0 0
什么?数字0可以由零,一个或多个零表示。