剑指Offer:不用加减乘除做加法(Python)

使用CAPL实现DoIP刷写 本文介绍了使用CAPL实现基于DoIP协议的ECU刷写方法,包含完整源码。 阅读详情

题目

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

思路

二进制异或进位

解答

方法一

class Solution:
    def Add(self, num1, num2):
        xorNum = num1 ^ num2
        andNum = (num1 & num2) << 1
        while andNum != 0:
            tmp1 = xorNum ^ andNum
            tmp2 = (xorNum & andNum) << 1
            tmp1 = tmp1 & 0xFFFFFFFF
            xorNum = tmp1
            andNum = tmp2
        # return num1 if xorNum <= 0x7FFFFFFF else xorNum - 0x100000000
        return xorNum if xorNum <= 0x7FFFFFFF else ~(xorNum^0xFFFFFFFF)
C#上位机多PLC多协议开发思路:10年老工控师拆解实战方案,避坑90%的问题(附代码框架) 是否连接成功数据地址(如“DB1.DBW0”“D100”“4x0001”) 阅读详情

相关推荐

从时序精度到视觉盛宴:PY32F030驱动WS2812的工程艺术与避坑指南

本文深入探讨了基于PY32F030微控制器驱动WS2812智能LED的完整解决方案。通过精确的时序控制、硬件PWM结合DMA传输技术,实现了稳定可靠的驱动效果,并提供了电源管理、信号完整性和常见问题排查等实用避坑指南,帮助开发者轻松应对严格的纳秒级时序挑战。

wind6的博客 120

剑指offer-[编程题]不用加减乘除做加法(python2实现及解析)

题目来源:牛客网 题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 参考答案: class Solution: def Add(self, a, b): while(b): a,b = (a^b) &amp; 0xFFFFFFFF,((a&amp;b)&lt;&lt;1) &amp; 0...

SZ-crystal 2868

Maltab GUI课程设计——网络爬虫程序(基金连涨连跌提醒)

Maltab GUI课程设计——网络爬虫程序(基金连涨连跌提醒)

果果爱腰果的博客 850

【剑指offer】不用加减乘除做加法(Python)

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路 详细参考:https://www.jianshu.com/p/42fb154f0851 这里解释了为什么要加入return num1 if num1<=0x7FFFFFFF else ~(num1^0xFFFFFFFF)的判断: https://blog.youkuaiyun.com/u012505...

yingzoe的博客 636

Midscene.js(3):手把手教你用 YAML 脚本实现 AI 驱动的 Web UI 自动化「喂饭教程」

Midscene.js是一款开源的AI驱动UI自动化工具,通过自然语言描述即可控制浏览器或Android设备执行操作。它支持YAML脚本编写测试用例,降低了自动化测试门槛。

blues_C的博客 3241

大语言模型与ROS集成的自然语言机器人控制:开源框架与应用实例

近年来,大语言模型(LLM)与机器人操作系统(ROS)的集成逐步成熟,使得自然语言驱动的机器人控制成为可能。用户输入“捡起绿色方块”或“把微波炉里的饭热好端过来”这类日常语句,机器人能够自动拆解步骤、规划动作并执行。本文梳理2026年前后发布的三个代表性开源框架——ROS-LLM、ROSClaw以及LLM+Nav2基准测试系统,介绍其技术路径与工程落地情况。

Studying…… 633

[剑指offer]不用加减乘除做加法【python】

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解题思路:【参考牛客上票数最高的解答】链接:https://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215来源:牛客网首先看十进制是如何做的: 5+7=12,三步走第一步:相加各位的值,不算进位,得到2。第二步:计算进位值,得到...

Jillian_sea的博客 1644

基于STM32、HAL库、I2C接口的姿态传感器/陀螺仪之ICM-42670-P驱动 C语言程序设计

/ 设置加速度计和陀螺仪的工作模式。// 读取加速度计和陀螺仪数据。

corlin6688的博客 1180

Python 不用加减乘除做加法

写一个函数,求两个整数之和,要求在函数体内不得使用+,-,*,/四则运算符 # -*- coding:utf-8 -*- class Solution: def Add(self, num1, num2): xorNum = num1 ^ num2 andNum = num1 & num2 << 1 while andNu...

weixin_44208324的博客 541

潇洒郎: 小白一次性成功——红米 Note 12 5G Android12 系统13.0.16/14.0.9 小米红米手机解BL锁+ROOT-刷面具—官方ROM下载-线刷降级—解锁system系统分区

小白一次性成功——红米 Note 12 5G Android12 系统13.0.16/14.0.9 小米红米手机解BL锁+ROOT-刷面具—官方ROM下载-线刷降级—解锁system系统分区

潇洒郎的博客 4585

基于毫米波雷达的智能风扇算法设计与实现

摘要:本文设计了一种基于毫米波雷达的智能风扇控制系统,采用FMCW雷达实现人体目标的精准检测与定位。系统通过距离FFT、速度FFT、CFAR检测和AoA估计构建完整的信号处理链路,并针对风扇叶片干扰设计了基于自相关函数的抗干扰算法。创新性地提出了人在开机、多人优先送风、摇头追踪等控制策略。研究采用MATLAB完成全链路算法仿真验证,并在STM32平台上实现实物系统。实验表明,该系统可实现0.15m测距精度和±60°方位角覆盖,有效解决了传统风扇的能源浪费和用户体验问题。本文提供了完整的MATLAB仿真代码和

huanghm88的专栏 403

不用加减乘除做加法

不用加减乘除做加法描述思考 描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思考 对于数字运算,如果说四则运算不能用的话,那么我们只能用位运算来做了。 我们以 5 + 17 为例 结果为 22,那么 22 的计算结果,我们可以分为三步 来进行: ​ 第一步: 只做各位相加不进位 也就是说 没一位上的数字 相应的来相加 但是不进位,那么 5 + 7 为 12 ​ 个位数 5 和 7 相加 不进位 是2 十位是0 和1 相加 为 1 ​ 第二步: 5 + 7 中有进

fanjia2shao的博客 183

Open3D 使用RANSAC分割平面【2026最新版】

使用RANSAC从点云中分割平面,用segement_plane函数。博客长期更新,本文最新更新时间为:2026年2月28日。

点云侠的博客 37万+

剑指Offer:不用加减乘除做加法Java/Python

1.题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 2.算法描述 考察位运算 两个数异或:相当于每一位相加,而不考虑进位; 两个数相与,并左移一位:相当于求得进位; 将上述两步的结果相加 3.代码描述 3.1.Java代码 public class Solution { public int Add(int num1,int num2) { ...

半路出家的博客 294

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

剑指offer:不用加减乘除做加法(python)

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。# -*- coding:utf-8 -*- class Solution: def Add(self, num1, num2): # write code here while num2 != 0: temp = num1 ^ num2 ...

daisy的博客 1291

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

剑指Offer(Python多种思路实现):不用加减乘除做加法。

剑指Offer(Python多种思路实现):不用加减乘除做加法。 题目65题:不用加减乘除做加法。 解题思路:Python特性 class Solution: def Add(self, num1, num2): # write code here return sum([num1,num2]) ...

weixin_44151089的博客 852

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【牛客剑指offer刷题】:Python:48.不用加减乘除做加法

不用加减乘除做加法 时间限制:1秒 空间限制:32768K 热度指数:105927 算法知识视频讲解 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解析 链接:https://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215 来源:牛客网 首先看十进制是如何做的: 5+7...

Jack_Kuo的博客 663

剑指offer:Python不用加减乘除做加法 最详细的解答 位运算做加法 二进制实现加法 按位取反

二进制实现不用四则运算做加法,系统的对二进制知识和位运算补充!

storyfull 615

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

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。class Solution: def Add(self, num1, num2): # write code here while num2 != 0: temp = num1 ^ num2 num2 = (num1 &am...

741

剑指offer:不用加减乘除做加法(Python)

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解题思路 第一步:两个数按位取亦或。获得的值为不考虑进位时的和。 第二步:两个数按位取与。获得的值为(当两个数某一位同为1时)两个数求和时需要进位的位置。每次讲该数(在代码中表示为num2)左移一位,表示进位后。 循环第一二步,直至两数的和没有进位位为止。 class Solution: ...

种因收果 2146

剑指offer【65】:不用加减乘除做加法(位运算+python存储负数)

题目: 思路+代码: 思路: a + b == (a ^ b) + ((a & b ) << 1) 1.两个数 异或操作结果 == 两个数二进制无进位和 ; a ^ b 2.两个数 与操作结果 == 两个数的进位结果 ; a & b ) << 1 3.两个结果相加即为两个数的和; 4.return a; 是因为当无进位时,说明上一轮计算的无进位和(a),已经是最终结果 时间复杂度:最差情况下(例如 a= 0x7fffffff , b=1 时),需循环 31 次,使用

咕噜咕噜 524

Python:关于按位操作的说明(leetcode 剑指 Offer 65. 不用加减乘除做加法)

关于按位操作符 & | 和 and or 的区别 对于数值类变量: &:对符号两侧变量的每一位执行 与 操作 |:对符号两侧变量的每一位执行 或 操作 and:含0返回0,均为非0返回最后一个值 or:至少有1个非0时,返回第一个非0 # 1&2,2在二进制里面是10,1在二进制中是01,那么01与运算10得到是0 # 1:01 2:10 3:11 1 & 2 # 输出为 0, 1 | 2 # 输出为3 # 判断变量是否为0,.

wenkao123456的博客 351

剑指offer 面试题65 python版+解析:不用加减乘除做加法

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路:转换成二进制 1. 不考虑进位对每一位相加,与异或的结果一样。 2. 考虑进位,两个数先做与运算,然后再左移一位。 3. 把前两个结果相加。 # -*- coding:utf-8 -*- class Solution: def Add(self, num1, num2): ...

Yenpo Ma的博客 338

剑指offer第二版(Python3)--面试题65 : 不用加减乘除做加法

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

鲁班七号 325

剑指Offer(四十八):不用加减乘除做加法(C++/Python)

题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 解题思路 不能采用四则运算,就换成计算机中最常见的位运算 首先各位相加不进位,二进制相加的结果与异或是一致的 其次做进位,只有1+1会产生进位,与运算,之后再将结果左移一位,即为要求的进位 最后把两个步骤的结果相加,重复上述步骤,直到不产生进位。 C++版 class Solution { ...

qq_41562704的博客 225

python--剑指offer--简单--65. 不用加减乘除做加法

class Solution: def add(self, a: int, b: int) -> int: x = 0xffffffff a, b = a & x, b & x # python中将python存储补码的形式转换为32位有符号数的补码形式,用另一个数字表示出来 while b: a, b = a ^ b, (a & b) << 1 & x ...

Chasing__Dreams的博客 353
上一篇: 剑指Offer:二进制中1的个数(Python)
下一篇: 剑指Offer:丑数(Python)
XB_please
博客等级 码龄8年 80粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值