Counter operation sequences
Your task
A counter starts at 1. In one operation you either add 1 to it or double it. Count the distinct sequences of operations that turn 1 into exactly n (n >= 1). Two sequences are different if they differ anywhere, even when they pass through the same values, for example, reaching 2 by adding 1 and reaching 2 by doubling are two different sequences. Return the count; n = 1 gives 1 (the empty sequence).
Examples
count_counter_paths(n: int) -> intExample 1
Input
count_counter_paths(4)Output
4Example 2
Input
count_counter_paths(6)Output
6