不使用加减乘除符号计算加法
给定两个正整数,不使用加减乘除符号计算它们的和。
方法:例如,5+17=22,5是101,17是10001。
第一步各位相加得到的结果为10100(不考虑进位)---与异或操作相符;
第二步记下进位,为10---可用&操作来记下;
第三步把前两步的结果相加,得到10110,转换成十进制正好为22.重复上述过程,直到不产生进位为止。
int add(int a,int b)
{int sum,tmp;do{sum = a ^ b;tmp = (a & b) << 1;a = sum;b = tmp;}while(tmp != 0);return sum;
}
不通过第三变量交换两个数的值有两种方法:
int swap(int &a,int &b)
{a = a + b;b = a - b;a = a - b;
}
int swap(int &a,int &b)
{a ^= b;b ^= a;a ^= b;
}
不使用加减乘除符号计算加法相关推荐
- java 加法不用_【Java】 剑指offer(65) 不用加减乘除做加法
本文参考自<剑指offer>一书,代码采用Java语言. 题目 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷四则运算符号. 思路 对数字做运算,除了四则运算外,只剩下位 ...
- 剑指Offer_编程题 不用加减乘除做加法
不用加减乘除做加法 时间限制:1秒 空间限制:32768K 热度指数:81997 算法知识视频讲解 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 首先,十进 ...
- 《剑指offer》-- 构建乘积数组、求1+2+3+...+n、不用加减乘除做加法、包含min函数的栈、用两个栈实现队列
一.构建乘积数组: 1.题目: 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*. ...
- [剑指offer]面试题47:不用加减乘除做加法
面试题47:不用加减乘除做加法 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷四则运算符号. 代码如下: int add(int num1, int num2) {int su ...
- 不使用加减乘除实现加法
思路: 例如: a=5,b=9,a+b=14 a转换为二进制形式为101,b转换为二进制形式为1001,其和转换为二进制形式为1110. 对于二进制形式的相加,可分两步进行操作: 1)先不考虑进位,则 ...
- 如何用java实现加减_用Java实现不用加减乘除做加法操作
面试题1:不用加减乘除,求两个整数的和. import java.util.Scanner; public class GetSum { /** * 不用加减乘除做加法: * 十进制中的18和7相加: ...
- 【LeetCode】剑指 Offer 65. 不用加减乘除做加法
[LeetCode]剑指 Offer 65. 不用加减乘除做加法 文章目录 [LeetCode]剑指 Offer 65. 不用加减乘除做加法 一.位运算 一.位运算 本题考察对位运算的灵活使用,即使用 ...
- 剑指offer不用加减乘除做加法_剑指Offer-不用加减乘除做加法
题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 思路 思路一: 位运算 思路二: 递归 思路三: 调用Integer的sum方法 思路四: 自增自减 代码实现 ...
- Python 解决面试题47 不用加减乘除做加法
在看<剑指Offer>过程中,面试题47不用加减乘除做加法,给出的思路是使用二进制的异或以及与运算,总之就是使用二进制.但是在使用Python实现的过程中,对于正整数是没有问题的,但是对于 ...
最新文章
- Hide the common top menu in Ubuntu 12.04
- Jupyter 在线python编辑器
- swap 将硬盘变内存
- 怎么查看父子级目录linux,如何查找linux中特定父目录的所有文件?
- ROS学习笔记10(创建一个ROS消息和服务)
- [设计] - 判断LOGO好坏的12条参考标准
- VS2012编译文件报错——error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW
- IBM X3650 M4服务器使用U盘重装系统教程
- Delphi7 提示未注册解决解决办法,201-09-05日,亲测有效
- 最好听的男孩英文名字大全
- 【软件下载】Axure8.1正式版(含汉化包)
- 人工智能 一种现代方法 第1章 绪论
- GitHub、Apache 等平台开源项目,受美国出口管制么?
- 3dfier:GIS数据转3D城市模型
- 随手口袋记APP支持
- Chromium安装flash插件
- 最新H5网页分享到Twitter、Facebook带缩略图
- Oracle物化视图与物化视图日志
- AI智能改写-文本改写人工智能
- Javaweb入门基础(尚硅谷,佟刚老师)笔记(一)