《剑指offer》写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。...
弱菜刷题还是刷中文题好了,没必要和英文过不去,现在的重点是基本代码能力的恢复。
【题目】
剑指offer
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
【思路】
直觉想到用二进制的位运算。最后写出来是一个迭代的过程。
每次迭代先计算x和y的和但不处理进位,那么相当于做异或,得到res1
然后处理进位问题,相当于计算与运算,得到res2
那么res2左移1位,再加到res1上,则整个运算的最终结果转化为res1+(res2<<1)
因为res2做左移,总会减小到0,那时候的res1就是最终结果
class Solution{
public:int Add(int x, int y){int sum;int carry;while (true){sum = x^y;carry = (x&y) << 1;y = carry;x = sum;if (y == 0){break;}}return sum;}
};
《剑指offer》写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。...相关推荐
- c语言有参有类最小公倍数,【C语言】写一个函数,并调用该函数求两个整数的最大公约数和最小公倍数...
程序分析: 在数学中,两个数的最小公倍数=两个数的乘积/两数的最大公约数. 求两个数的最大公约数,运用辗转相除法:已知两个整数M和N,假定M>N,则求M%N. 如果余数为0,则N即为所求:如果余 ...
- 自定义函数求两个整数的和
一.自定义函数的构成: 自定义函数就是根据需要自己定义的函数,他的作用就是帮助我们实现我们想实现的功能.在定义函数时,需要注意以下几点: 1.函数名不可忽略.一个函数必须又一个合法的函数名,函数命名时 ...
- c语言学习-定义并调用函数求两个整数之差的绝对值
定义并调用函数求两个整数之差的绝对值 程序流程图: 代码: #include<stdio.h> int fabs(int m ,int n) {int f; f=m-n; if(f< ...
- C语言实验——求两个整数之和 (sdut oj)
C语言实验--求两个整数之和 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 求两个整数之和,不从键盘输入数据,直接使用赋值 ...
- 使用函数求两个整数的最大公约数和最小公倍数
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p240 习题7 3.编写两个函数,分别求两个整数的最大公约数和最小公倍数 #include<st ...
- C语言之求两个整数之和
#include <stdio.h>int main() // 求2个整数之和 {int a,b,sum; //声明部分,定义a,b,sum为整型变量a=100;b=100; //给变量赋 ...
- 【C语言】写一个函数,并调用该函数求两个整数的最大公约数和最小公倍数
程序分析: 在数学中,两个数的最小公倍数=两个数的乘积/两数的最大公约数. 求两个数的最大公约数,运用辗转相除法:已知两个整数M和N,假定M>N,则求M%N. 如果余数为0,则N即为所求:如果余 ...
- 剑指offer:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
要掌握加法运算的二进制原理 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2. 第二步:计算进位值,得到10. 如果这一步的进位值为0,那么第一步得到的值就是最终 ...
- c语言用编译器求两个整数之和的代码,使用OC语言编撰两个超大数相乘或相加的算法的思路和超大正整数相乘的代码...
使用OC语言编写两个超大数相乘或相加的算法的思路和超大正整数相乘的代码 正文: 在编程中,无论是OC还是C亦或是C++语言,所声明的整数变量都会在内存中占有固定的存储空间,而这些存储空间都是固定的. ...
最新文章
- RStudio个性化界面配置
- Android--ImageButton的焦点及事件处理
- 如何自学python爬虫-菜鸡的Python爬虫之路(一)如何零基础自学Python
- 大端(Big Endian)、小端(Little Endian)
- python连接mysql代码_Python3连接MySQL(pymysql)转账代码
- day20 Python 高阶函数,函数,嵌套,闭包 装饰器
- 【超直白】leetcode 279 完全平方数
- 聊聊工作与生活的平衡
- js判断移动端或是pc端
- 我的Android第五章:通过Intent实现活动与活动之间的交互
- Visual Studio 2013 + Intel(R) Visual Fortran 安装教程
- kubectl源码分析之config get-contexts
- cad修改快捷键_怎么编辑CAD快捷键?
- 我的世界服务器一直没信号,我的世界:6年前突发的MC诡异事件,至今官方也说不出原因!...
- 基于java的健身房管理系统的设计与实现
- 2016年英语六级翻译
- 逻辑回归(Logistic Regression)
- 系统分析实验 Python
- zygote启动过程
- 如何删除下一页分节符_页面布局里分节符添加的下一页空白页怎么删 - 卡饭网...
热门文章
- LeetCode 54. Spiral Matrix--Python解法--螺旋排序
- LeetCode 589. N-ary Tree Preorder Traversal-多子节点树前序遍历--递归,迭代--反向压栈--C++解法
- vmware 报错解决:The system cannot find the path specified.
- mysql两列查询结果列拼接一个表输出_sql select语句,查询出两列结果拼接在一起...
- oracle中set怎么用,sqlplus命令格式以及sqlplus中set的用法与解释-Oracle
- ubuntu20安装mysql8.0.28
- JAVA 反射知识点总汇
- 来看看如何使用策略模式干掉讨厌的 if else
- RabbitMQ(八):SpringBoot 整合 RabbitMQ(三种消息确认机制以及消费端限流)
- Core Animation1-简介