不用+、-、×、÷数字运算符做加法
1)使用位运算,sum1=a^b 相当于不进位的加法,因为0+1=1.1+0=1.1+1=0(因为不进位)0+0=0 正好是或运算
2)sum2=(a&b)<<1,相当于算进位的数,因为只有1+1时进位
3)结果就是sum1+sum2,当然如果这个加法还需要进位就执行第四步
4)重复上面的过程一直到进位数(a&b)<<1为零,也就是不需要进位为止
#include<iostream>
#include<stdio.h>
using namespace std;
int add(int a,int b){if(b==0)//当进位数为零时,a就是结果了return a;int num1,num2;num1=a^b;num2=(a&b)<<1;add(num1,num2);
}
int main(){int a,b;while(scanf("%d%d",&a,&b)){cout<<add(a,b)<<endl;}
}
不用+、-、×、÷数字运算符做加法相关推荐
- 程序员面试100题之三:不用+、-、×、÷数字运算符做加法
题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+.-.×.÷. 分析:这又是一道考察发散思维的很有意思的题目.当我们习以为常的东西被限制使用的时候,如何突破常规去思考,就是解决这个问题的关 ...
- c语言不使用加运算符做加法运算
我之前的博客里有讲到cpu是怎么做加减乘除的 偶然间看到一个面试题说的是不用加法去做加运算 其实仔细想想,就是以二进制的方式来运算咯,只不过把计算机组成原理里的那套搬到编程里来 复习一下加法: cpu ...
- python找数字、做加法_Python数学1-2:理解数字——自然数加法,python,12,认识
目前的数字,只能通过这样的方式来定义. z = zero() one = next(z) two = next(one) three = next(two) four = next(three) 而且 ...
- java 加法不用_【Java】 剑指offer(65) 不用加减乘除做加法
本文参考自<剑指offer>一书,代码采用Java语言. 题目 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷四则运算符号. 思路 对数字做运算,除了四则运算外,只剩下位 ...
- [剑指offer]面试题47:不用加减乘除做加法
面试题47:不用加减乘除做加法 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷四则运算符号. 代码如下: int add(int num1, int num2) {int su ...
- 如何用java实现加减_用Java实现不用加减乘除做加法操作
面试题1:不用加减乘除,求两个整数的和. import java.util.Scanner; public class GetSum { /** * 不用加减乘除做加法: * 十进制中的18和7相加: ...
- 【LeetCode】剑指 Offer 65. 不用加减乘除做加法
[LeetCode]剑指 Offer 65. 不用加减乘除做加法 文章目录 [LeetCode]剑指 Offer 65. 不用加减乘除做加法 一.位运算 一.位运算 本题考察对位运算的灵活使用,即使用 ...
- 【剑指offer-Java版】47不用加减乘除做加法
不用 + - * / 做加法 输入两个整数,不使用四则运算求出这两个数的和 分析加法运算对应的位运算: 1 等价于两个数先做异或运算 – 相当于不考虑进位的加法 2 然后按位与运算并将与运算的和左移一 ...
- 剑指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]*. ...
最新文章
- -heap 查看当前jvm堆栈信息_必知必会的JVM工具系列二,读懂会用jhat,jstack,jstatd,JConsole...
- C# 以日期时间作为文件名学习总结
- mysql通配符_mysql通配符进行模糊查询
- 使用Castle做类的增强
- JavaScriptjQuery.函数
- 1061 判断题 (15 分)—PAT (Basic Level) Practice (中文)
- 伪元素在父元素中居中_从ArrayList中移除元素
- Spring Boot 搭建 Eureka Servrer 单机模式、高可用模式
- 用友nc java下载_用友nc的java插件下载
- html浏览xsd,那点你不知道的XHtml(Xml+Html)语法知识(DTD、XSD)
- 2020入侵防御系统(IPS)TOP10
- 数据中心服务器芯片温度,【DKV】新建数据中心气流——第二部分:入口温度VS服务器性能...
- Kafka 开启 ACLs 权限控制
- idea复制项目并使用技巧
- 辽宁计算机考研学校二本,二本院校逆袭985到底有多难?
- 【悟空云课堂】第二十六期:通过错误消息导致的信息暴露(CWE-209:Generation of Error Message Containing Sensitive Information)
- 华为Ebackup模板部署
- css3恐龙蛋孵化动画代码
- powerdesign java,PowerDesigner设计数据库表
- linux MQ 比较全面的操作命令
热门文章
- 遍历~筛选~eq();filter();first();last();has();is();map();slice()
- 有关数组知识点的小结
- java从字符串中提取数字的简单实例
- linux之安装模式的选择
- scope=“prototype”和scope=“session”
- RequiredFieldValidator控件--必填验证控件
- mac os 下安装mysql
- 回收站引发ORACLE查询表空间使用缓慢
- Bambook 简介
- 如何设置共享Mac上的视频、音乐或照片的教程