W tym wyzwaniu kodu będziesz musiał obliczyć liczbę sposobów osiągnięcia zaczynając od używając map w postaci (z nieujemną liczbą całkowitą) i robiąc to w minimalnej liczbie kroków.
(Uwaga: jest to związane z sekwencją OEIS A307092 .)
Przykład
Na przykład ponieważ wymagane są trzy mapy, i istnieją dwie odrębne sekwencje trzech map, które wyślą do :
Wynikający z lub .
Przykładowe wartości
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])
Wyzwanie
Wyzwanie polega na stworzeniu programu, który przyjmuje liczbę całkowitą jako dane wejściowe i wyprowadza liczbę różnych ścieżek od do poprzez minimalną liczbę map w postaci .
To jest golf golfowy , więc wygrywa najmniej bajtów.
x -> x + x^j
^
symbol oznacza potęgowanie. Może to być również XOR (na przykład C używa^
bitowego XOR).