Цей виклик коду дозволить вам обчислити кількість способів досягнення починаючи з використовуючи карти форми (з невід'ємним цілим числом), і робити це за мінімальну кількість кроків.
(Зверніть увагу, це пов'язано з послідовністю 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])
Виклик
Завдання полягає в тому, щоб створити програму, яка приймає ціле число в якості вхідного сигналу і виводить кількість окремих шляхів від до за допомогою мінімальної кількості карт форми .
Це код-гольф , тому виграє найменше байтів.
x -> x + x^j
^
символ позначає експоненцію. Це може бути і XOR (наприклад, C використовує^
для побітових XOR).