ispirato al conto alla rovescia dall'infinito
Dato un numero intero non negativo N
, genera il numero di ripetizioni dei seguenti passaggi necessari per raggiungere 0:
- Converti
N
in binario (4812390 -> 10010010110111001100110
) - Capovolgi ogni bit (
10010010110111001100110 -> 01101101001000110011001
) - Taglia zeri iniziali (
01101101001000110011001 -> 1101101001000110011001
) - Converti indietro in decimale (
1101101001000110011001 -> 3576217
)
Regole
- L'input e l'output possono essere in qualsiasi formato non ambiguo e coerente
- L'input sarà compreso nell'intervallo intero rappresentabile nativo per la tua lingua (se la tua lingua supporta numeri interi arbitrariamente grandi, non c'è limite)
Casi test
0 -> 0
1 -> 1
42 -> 6
97 -> 3
170 -> 8
255 -> 1
682 -> 10
8675309 -> 11
4812390 -> 14
178956970 -> 28
2863311530 -> 32
Questa sequenza è A005811 nell'OEIS.
~(~a) == a