剑指offer 面试题47—不用加减乘除做加法
来源:互联网 发布:q版卡通人物制作软件 编辑:程序博客网 时间:2024/05/17 06:26
题目:
做加法不能用四则运算。
基本思路:
位运算,考虑二进制加法的过程,
步骤一、A^B,能够得到没有进位的加法。
步骤二、A&B,能够得到相加之后,能够进位的位置的信息。向左移动一位,就是两个二进制数相加之后的进位信息。所以,(A&B)<<1就是两个二进制数相加得到的“进位结果”。
步骤三、将前两步的结果相加。相加的过程就是步骤一和步骤二,直到不再产生进位为止。
#include <iostream>using namespace std;int add(int n,int m){int sum,carry;while(m!=0){sum=n^m;carry=(n&m)<<1;n=sum;m=carry;}return n;}int main(){int x,y;while(cin>>x>>y){cout<<add(x,y)<<endl;}return 0;}
0 0
- 剑指offer 面试题47—不用加减乘除做加法
- [剑指offer][面试题47]不用加减乘除做加法
- 剑指Offer:面试题47 不用加减乘除做加法
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 剑指offer-面试题47:不用加减乘除做加法
- 剑指offer之面试题47不用加减乘除做加法
- 剑指offer--面试题47:不用加减乘除做加法
- 剑指Offer系列-面试题47:不用加减乘除做加法
- 【面试题】剑指Offer-47-不用加减乘除做加法
- 剑指offer-面试题47-不用加减乘除做加法
- 剑指offer 面试题47 不用加减乘除做加法
- 【剑指Offer】面试题47:不用加减乘除做加法
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 【剑指offer】6.5发散思维能力——面试题47:不用加减乘除做加法
- 剑指offer——面试题47:不用加减乘除做加法
- 剑指offer——面试题47:不用加减乘除做加法
- 【剑指offer】面试题65:不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 第2期——WLAN射频和信道
- wifi的使用
- cisco 常用OID
- 第3期——WLAN标准协议
- 划分树
- 剑指offer 面试题47—不用加减乘除做加法
- osx命令行操作整理
- 第6期——WLAN常用概念
- python 创建Web Server
- 第7期——AP上线过程
- 第九周项目一 复数类的运算符重载
- 转 Android Looper和Handler
- java Visual Application
- jQuery EasyUI_Combo与Datagrid.2