당신의 임무는 양수를 입력 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
기본 3에 있다고 생각합니다.
base > 1
?