波兰最古老的盐矿位于Bochnia *,始于1248年,我们可以认为这是一个神奇的数字。从求幂序列中可以看到它等于4位数字。
由于日期实际上是序列中的4位数字,因此我们可以将其延长。我们可以重复此过程,直到达到无穷大。如果我们将其限制为数字,则序列看起来像这样2048
124816326412825651210242048
为了使外观更好一点,我们可以将数字分开:
1|2|4|8|16|32|64|128|256|512|1024|2048
让我们尝试一个比日期更长的自定义序列。假设我们希望它有5位数字-可能性不止一种:
24816
81632
64128
或3位数字:
124
248
816
我们也可以在上面加上3位数字,但是,说一个序列必须至少有两个数字。
*英文维基百科上没有关于此的信息。如果您输入波兰语版本-那就有。如果您参观该矿,工人也会告诉您,该矿始于1248年。
挑战
像上面的示例一样,以2为基数创建一个幂序列。
给定范围为2-27的数字,请输出该序列的所有可能部分(如果需要,可以为2048或更大),且位数等于输入。您无法截断数字,因此输出之类481
的无效,因为16被截成两半。
规则:
- 禁止出现标准漏洞。
- 您可以假设输入的数字是范围内的数字。
- 您的程序可以接受大于范围(28+)的输入,但是不会增加/减少得分。
- 输出中的空格将被忽略。您可以输出like
124
或like4 8 16
。 - 列表中的任何字符应分隔不同的可能性:
,./|
或换行。 - 您可以输出为数组。
- 每种可能性都应至少包括2个不同的数字。
- 您必须输出序列的一部分,不能混合不相邻的数字,例如:
14
。 - 不允许硬编码输出,但是,您可以硬编码包含完整序列的字符串/数字/数组。
- 输入27应该返回完整的2048序列。
- 如前所述,请勿减少数字。例如
16
必须停留16
-您不能使用481
-您必须使用4816
。 - 编辑:我可能在那说错了;2048是您的程序应支持的最后一个数字,您可以添加对更大int的支持。
测试用例
输入: 2
12, 24, 48
输入: 3
124, 248, 816
输入: 4
1248, 4816, 1632, 3264
输入: 5
24816, 81632, 64128
输入: 27
124816326412825651210242048
还有后来的数字...
如果我在任何测试用例中都犯了一个错误,请告诉我或编辑问题。
这是代码高尔夫球,因此以字节为单位的最短代码胜出!