5454: 【45课】【3275】 数位翻转

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:59 Solved:38

Description

给定一个数n,你可以进行若干次操作,每次操作可以翻转n的二进制表示下的某一位,即将0变成11变成0。 请问:至少需要多少次操作,才能将n变成n1

Input

一个正整数n。(1<n109)

Output

输出最少的操作次数。

Sample Input Copy

10

Sample Output Copy

2

HINT

样例说明:

10 的二进制是 1010

9 的二进制是  1001

因此最少需要两步:

    1010 -> 1000 -> 1001