剑指offer——不用加减乘除做加法
来源:互联网 发布:java实现用户注册登录 编辑:程序博客网 时间:2024/06/04 23:27
原理:
1、对两个数进行异或运算,sum=num1^num2,不考虑进位。
2、对两个数进行与运算,carry=(num1&num2)<<1,
3、将sum和carry相加,循环执行。
注:减法,乘法和除法可以使用加法的变形。
#include <iostream>using namespace std;int add(int num1,int num2){int sum,carry;while(num2!=0){sum=num1^num2;carry=(num1&num2)<<1;num1=sum;num2=carry;}return sum;}void main(){cout<<add(3,4)<<endl;}
0 0
- 剑指offer—不用加减乘除做加法
- 剑指offer — 不用加减乘除做加法
- 剑指offer——不用加减乘除做加法
- 《剑指offer》——不用加减乘除做加法
- 剑指offer——不用加减乘除做加法
- 剑指offer——不用加减乘除做加法
- 剑指Offer—48—不用加减乘除做加法
- 剑指offer——49.不用加减乘除做加法
- 剑指offer 面试题47—不用加减乘除做加法
- 【剑指offer】不用加减乘除做加法
- 【剑指offer】不用加减乘除做加法
- 剑指Offer之 - 不用加减乘除做加法
- 剑指offer: 不用加减乘除做加法
- 剑指offer 不用加减乘除做加法
- 《剑指offer》不用加减乘除做加法
- 剑指offer--不用加减乘除做加法
- 剑指offer:不用加减乘除做加法
- 【剑指offer】之不用加减乘除做加法
- scanf()、getchar()、gets()、cin之间的区别
- POJ3264——Balanced Lineup
- Javascript中this关键字详解
- 数学之路-分布式计算-hadoop、python与R(1)
- 详解Oracle手动创建数据库几大步骤
- 剑指offer——不用加减乘除做加法
- 数据库的迁移总结及区别比较(Oracle,MySQL,SQLServer)
- linux笔记第四部分
- win7 ubuntu
- UILabel自适应大小的新方法boundingRectWithSize:options:attributes:context:
- 关于“Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002”出错
- 如何使用别人的代码 (特指在MFC里面 或者推广为C++里面)
- LeetCode-Combinations
- 【Java学习】混型尝试(1 - 接口)