Nhiệm vụ của bạn là lấy một số dương làm đầu vào, n và xuất độ dài của biểu diễn chữ số lặp lại dài nhất của n trong bất kỳ cơ sở nào. Ví dụ 7 có thể được biểu diễn dưới dạng bất kỳ thứ nào sau đây
111_2
21_3
13_4
12_5
11_6
10_7
7_8
Các đại diện chữ số là 111_2
và 11_6
, 111_2
dài nên câu trả lời của chúng tôi là 3.
Đây là một câu hỏi golf-code vì vậy câu trả lời sẽ được tính bằng byte, với ít byte hơn sẽ tốt hơn.
Các trường hợp thử nghiệm
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
Mẫu thực hiện
Đây là một triển khai trong Haskell có thể được sử dụng để tạo ra nhiều trường hợp thử nghiệm hơn.
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
ở cơ sở 3.
base > 1
?