您的任务是将正数用作输入n,并输出任何基数中n的最长表示位表示形式的长度。例如,7可以表示为以下任何一种
111_2
21_3
13_4
12_5
11_6
10_7
7_8
代表数字是111_2
和11_6
,111_2
更长,因此我们的答案是3。
这是一个代码问题,因此答案将以字节计分,而字节越少越好。
测试用例
1 -> 1
2 -> 1
3 -> 2
4 -> 2
5 -> 2
6 -> 2
7 -> 3
8 -> 2
9 -> 2
10 -> 2
11 -> 2
26 -> 3
63 -> 6
1023-> 10
实施范例
这是Haskell中的一种实现,可用于生成更多测试用例。
f 0 y=[]
f x y=f(div x y)y++[mod x y]
s x=all(==x!!0)x
g x=maximum$map(length.f x)$filter(s.f x)[2..x+1]
222
位于基数
base > 1
?