Ce défi de code vous fera calculer le nombre de façons d'atteindre partir de utilisant des cartes de la forme (avec un entier non négatif), et cela en un minimum d'étapes.
(Remarque, cela est lié à la séquence OEIS A307092 .)
Exemple
Ainsi, par exemple, car trois cartes sont requises, et il existe deux séquences distinctes de trois cartes qui enverront de à 13 :
Résultat: ou .
Exemples de valeurs
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])
Défi
Le défi est de produire un programme qui prend un entier en entrée, et génère le nombre de chemins distincts de à via un nombre minimal de cartes de la forme .
Il s'agit de code-golf , donc le moins d'octets gagne.
x -> x + x^j
^
symbole indique l'exponentiation. Il peut également s'agir de XOR (par exemple, C utilise^
pour XOR au niveau du bit).