이 코드 챌린지는 ( 는 음이 아닌 정수)의 맵을 사용 하여 최소 단계 수로 에서 시작 하여 에 도달하는 방법의 수를 계산하게 합니다.
(이는 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])
도전
문제는 정수 를 입력으로 사용하고 형식의 최소 개수의 맵을 통해 에서 까지의 고유 경로 수를 출력 하는 프로그램을 생성하는 것 입니다 .
이것은 code-golf 이므로 가장 적은 바이트가 이깁니다.
x -> x + x^j
^
상징이 지수를 나타낸다 는 것을 명시 적으로 언급해야한다고 생각합니다 . XOR 일 수도 있습니다 (예 : C는^
비트 XOR에 사용).