0へのビット反転
例えば、5という数を2進数で表すと
101
になります。これをビット反転(complement)すると、先頭の0を無視して 10
となり、これは10進数で2に当たります。もう一度ビット反転すると、先頭の0を無視して 1
となり、これは10進数で1を意味します。さらに 1
をビット反転すると最終的に0になります。101 → 10 → 1 → 0.
このように、5を0にするためにはビット反転を3回行う必要があります。手動で何度も続けるのは大変なので、最初に与えられた数
n
を0にするまでに行うビット反転の回数を求めるプログラムを作成するよう、会社から依頼されています。 Input
入力には単一の整数
n
(1 ≤ n ≤ ) が与えられます。 Output
出力には、
n
を0にするために必要なビット反転の回数を1つの整数として示してください。 Examples
入力 | 出力 |
5 | 3 |
Constraints
Time limit: 1 seconds
Memory limit: 512 MB
Output limit: 1 MB