这段代码的挑战将你计算的方法来达到多少从开始使用形式的地图(与一个非负整数),并在最少的步骤数这么做。
(注意,这与OEIS序列A307092有关。)
例
因此,例如,是因为需要三个映射,并且三个映射的两个不同序列将发送到:
结果为或。
值示例
f(2) = 1 (via [])
f(3) = 1 (via [0])
f(4) = 1 (via [1])
f(5) = 1 (via [1,0])
f(12) = 2 (via [0,2] or [2,1])
f(13) = 2 (via [0,2,0] or [2,1,0], shown above)
f(19) = 1 (via [4,0])
f(20) = 2 (via [1,2] or [3,1])
f(226) = 3 (via [2,0,2,1,0,1], [3,2,0,0,0,1], or [2,3,0,0,0,0])
f(372) = 4 (via [3,0,1,0,1,1,0,1,1], [1,1,0,2,0,0,0,1,1], [0,2,0,2,0,0,0,0,1], or [2,1,0,2,0,0,0,0,1])
挑战
面临的挑战是产生一个程序来的整数作为输入,并且输出从不同的路径的数目到经由形式的地图的最小数量的。
这是代码高尔夫球,因此最少的字节获胜。
@Ramillies也许应该将其更改为MathJax。即而不是。
—
凯文·克鲁伊森
x -> x + x^j
@KevinCruijssen:好点,那肯定会有所帮助。
—
拉米利斯
^
符号表示幂。也可以是XOR(例如C^
用于按位XOR)。