zainspirowany Countdown from Infinity
Biorąc pod uwagę nieujemną liczbę całkowitą N
, wypisz liczbę powtórzeń następujących kroków, aby osiągnąć 0:
- Konwertuj
N
na binarny (4812390 -> 10010010110111001100110
) - Odwróć każdy bit (
10010010110111001100110 -> 01101101001000110011001
) - Przycinanie zer wiodących (
01101101001000110011001 -> 1101101001000110011001
) - Konwertuj z powrotem na dziesiętny (
1101101001000110011001 -> 3576217
)
Zasady
- Dane wejściowe i wyjściowe mogą być w dowolnym jednoznacznym, spójnym formacie
- Dane wejściowe będą znajdować się w natywnym reprezentatywnym zakresie liczb całkowitych dla Twojego języka (jeśli Twój język obsługuje dowolnie duże liczby całkowite, nie ma żadnych ograniczeń)
Przypadki testowe
0 -> 0
1 -> 1
42 -> 6
97 -> 3
170 -> 8
255 -> 1
682 -> 10
8675309 -> 11
4812390 -> 14
178956970 -> 28
2863311530 -> 32
Ta sekwencja to A005811 w OEIS.
~(~a) == a