#Y1268. 【45课】【3275】 数位翻转
【45课】【3275】 数位翻转
题目描述
给定一个整数 ,你可以进行若干次操作。
每次操作可以翻转 的二进制表示中的某一位,即:
- 将 变成 ;
- 将 变成 。
请问:至少需要多少次操作,才能将 变成 。
输入格式
输入一个正整数 。
。
输出格式
输出最少需要的操作次数。
样例
10
2
样例解释
的二进制表示为:
的二进制表示为:
因此最少需要两步:
数据范围
。
给定一个整数 n,你可以进行若干次操作。
每次操作可以翻转 n 的二进制表示中的某一位,即:
请问:至少需要多少次操作,才能将 n 变成 n−1。
输入一个正整数 n。
1<n≤109。
输出最少需要的操作次数。
10
2
10 的二进制表示为:1010
9 的二进制表示为:1001
因此最少需要两步:
1010→1000→1001
1<n≤109。