输入两个整数m和n,计算m需要改变多少位才能得到n
来源:互联网 发布:声音放大器软件中文版 编辑:程序博客网 时间:2024/05/13 02:42
题目:输入两个整数m和n,计算m需要改变多少位才能得到n?
如果要把5变成3的话,需要改变:2次,因为第一位0和最后一位1都相同
解析:
这个题我最开始是没有思路的,想了很久才有点思路,思路的来源是把他们转化成二进制后才有的
如果要把5变成3的话,需要改变:2次,因为第一位0和最后一位1都相同
所以不需要改变,做法,先将两个数异或,然后求异或后1的个数
int GetCount(int N,int M) { int value=N^M;//先将两个数异或 int count=0; while(value) { count++; value=(value&(value-1));//求异或后1的个数 } return count; } void TestGetCount() { int n=5; //0101 int m=3; //1010 //题目的意思本意是将:1010-->0101 cout<<"count is :"<<GetCount(n,m)<<endl; }
转自:http://blog.csdn.net/zhou753099943/article/details/51737145
0 0
- 输入两个整数m和n,计算m需要改变多少位才能得到n
- 输入两个整数m和n,计算m需要改变多少位才能得到n
- 输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n。
- c语言:输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n
- C++ 算法之 输入两个整数m n,求计算需要改变m的二进制表示中的多少位才能得到n
- 输入整数m,n,判断需要改变二进制中多少位才能使其相等
- 输入两个整数m和n,及另一个整数k,计算m/n,结果精确到小数点后k位。
- 1.编程实现: 两个int(32位)整数m和n的二进制表达中, 有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7
- 1.编程实现: //两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? //输入例子 :
- 4.编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7
- 求出两个int(32位)整数m和n的二进制表达中,有多少bit位不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- declare-styleable自定义控件的属性
- CentOS设置服务开机启动的方法
- lua(9)-模块和自定义loader
- Select SQL查询效率优化原则
- android官网译文《Running CTS tests》-运行cts
- 输入两个整数m和n,计算m需要改变多少位才能得到n
- 注解@Scope@PostConstruct@PreDestroy
- mac os 下phpstorm 安装tfs配置过程
- POJ3667
- 对撞机_纪中3074_暴力?
- android 十九个开发工具
- 高效使用Bitmaps(一) 大Bitmap的加载
- html表单提交到phpmyadmin表并输出
- linux性能分析常用命令