给定两个正整数,不使用加减乘除符号计算它们的和。

方法:例如,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;
}

不使用加减乘除符号计算加法相关推荐

  1. java 加法不用_【Java】 剑指offer(65) 不用加减乘除做加法

    本文参考自<剑指offer>一书,代码采用Java语言. 题目 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷四则运算符号. 思路 对数字做运算,除了四则运算外,只剩下位 ...

  2. 剑指Offer_编程题 不用加减乘除做加法

    不用加减乘除做加法 时间限制:1秒 空间限制:32768K 热度指数:81997 算法知识视频讲解 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 首先,十进 ...

  3. 《剑指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]*. ...

  4. [剑指offer]面试题47:不用加减乘除做加法

    面试题47:不用加减乘除做加法 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷四则运算符号. 代码如下: int add(int num1, int num2) {int su ...

  5. 不使用加减乘除实现加法

    思路: 例如: a=5,b=9,a+b=14 a转换为二进制形式为101,b转换为二进制形式为1001,其和转换为二进制形式为1110. 对于二进制形式的相加,可分两步进行操作: 1)先不考虑进位,则 ...

  6. 如何用java实现加减_用Java实现不用加减乘除做加法操作

    面试题1:不用加减乘除,求两个整数的和. import java.util.Scanner; public class GetSum { /** * 不用加减乘除做加法: * 十进制中的18和7相加: ...

  7. 【LeetCode】剑指 Offer 65. 不用加减乘除做加法

    [LeetCode]剑指 Offer 65. 不用加减乘除做加法 文章目录 [LeetCode]剑指 Offer 65. 不用加减乘除做加法 一.位运算 一.位运算 本题考察对位运算的灵活使用,即使用 ...

  8. 剑指offer不用加减乘除做加法_剑指Offer-不用加减乘除做加法

    题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 思路 思路一: 位运算 思路二: 递归 思路三: 调用Integer的sum方法 思路四: 自增自减 代码实现 ...

  9. Python 解决面试题47 不用加减乘除做加法

    在看<剑指Offer>过程中,面试题47不用加减乘除做加法,给出的思路是使用二进制的异或以及与运算,总之就是使用二进制.但是在使用Python实现的过程中,对于正整数是没有问题的,但是对于 ...

最新文章

  1. Hide the common top menu in Ubuntu 12.04
  2. Jupyter 在线python编辑器
  3. swap 将硬盘变内存
  4. 怎么查看父子级目录linux,如何查找linux中特定父目录的所有文件?
  5. ROS学习笔记10(创建一个ROS消息和服务)
  6. [设计] - 判断LOGO好坏的12条参考标准
  7. VS2012编译文件报错——error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW
  8. IBM X3650 M4服务器使用U盘重装系统教程
  9. Delphi7 提示未注册解决解决办法,201-09-05日,亲测有效
  10. 最好听的男孩英文名字大全
  11. 【软件下载】Axure8.1正式版(含汉化包)
  12. 人工智能 一种现代方法 第1章 绪论
  13. GitHub、Apache 等平台开源项目,受美国出口管制么?
  14. 3dfier:GIS数据转3D城市模型
  15. 随手口袋记APP支持
  16. Chromium安装flash插件
  17. 最新H5网页分享到Twitter、Facebook带缩略图
  18. Oracle物化视图与物化视图日志
  19. AI智能改写-文本改写人工智能
  20. Javaweb入门基础(尚硅谷,佟刚老师)笔记(一)

热门文章

  1. Redis张工的set存储结构(实现)原理
  2. RedisPlus图形化客户端-支持集群的访问
  3. 后台服务系统之搭建ZooKeeper注册中心
  4. spring中bean的细节之三种创建Bean对象的方式
  5. jvm参数调优堆的初始和最大值一定要一致
  6. 设计模式:装饰模式(Decorator)
  7. linux系统牵引程序设置,Linux上安装Wine运行AutoCAD实例[多图]
  8. 我什么计算机作文600字,我家的电脑作文600字
  9. igs时间和utc_UTC和GMT时间
  10. WebSocket入门