Questa sfida del codice ti consentirà di calcolare il numero di modi per raggiungere partire da utilizzando le mappe del modulo (con un numero intero non negativo) e farlo nel numero minimo di passaggi.
(Nota, questo è correlato alla sequenza OEIS A307092 .)
Esempio
Ad esempio, perché sono necessarie tre mappe e ci sono due sequenze distinte di tre mappe che invieranno da a :
Risultato in o .
Valori di esempio
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])
Sfida
La sfida è quella di produrre un programma che prenda come input un numero intero e produca il numero di percorsi distinti da a tramite un numero minimo di mappe nella forma .
Questo è code-golf , quindi vince meno byte.
x -> x + x^j
^
simbolo indica esponenziazione. Potrebbe essere anche XOR (ad esempio, C utilizza^
per XOR bit a bit).