首页 分享 【剑指offer python】面试题47:不用加减乘除做加法

【剑指offer python】面试题47:不用加减乘除做加法

来源:萌宠菠菠乐园 时间:2024-12-22 17:08

最新推荐文章于 2022-06-11 00:57:44 发布

cheney康 于 2018-05-13 17:33:00 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

链接:不用加减乘除做加法

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

class Solution:

def Add(self, num1, num2):

while num2 != 0:

temp = num1 ^ num2

num2 = (num1 & num2) << 1

num1 = temp & 0xFFFFFFFF

return num1 if num1 >> 31 == 0 else num1 - 4294967296

class Solution:

def Add(self, num1, num2):

return sum([num1,num2])

将两个数的加法看作两步,第一步是两个数相加但是不进位,第二步是记录之前的两数相加应该进位的地方加上前一个相加但是不进位的数。对于具体的两个不小于0的数m和n,第一步可以看做m和n的异或运算m^n,第二步可以看做m和n的与运算然后左移一位得到实际的进位位置(m&n)<<1。然后把两个得到的数字加起来继续操作,指到carry进位为0终止操作。

相关知识

长春机场“加减乘除法”,打造温暖新春旅途
热门技术类公众号榜单,看到最后有惊喜!
IT知识讲解:Python语言中=和==有什么区别
“加减乘除”法培养BB独立性
各類型加法建議
正高副高级职称考试宝典内分泌学副主任医师面审答辩面试题陕西省
经典的逻辑面试题
Python学习手册
剑指江湖宠物排行榜 最强宠物推荐
听Python之父

网址: 【剑指offer python】面试题47:不用加减乘除做加法 https://www.mcbbbk.com/newsview832158.html

所属分类:萌宠日常
上一篇: 主人买了一只牛蛙!刚到家第一天它
下一篇: 《宠物小精灵XY》25日79区牛

推荐分享