python的算术运算符不包括_没有算术运算符的A + B,Python与C ++
我试图解决一个老问题:
编写一个将两个[整数]数字A和B相加的函数。不应使用+或任何算术运算符。
对于任意底数的a + b,我们可以将加号视为两个部分:1. a + b,不带进位;2. + b产生的进位。然后,a +
b等于第1部分加第2部分。如果part1 + part2产生更多进位,则可以重复此过程,直到没有进位。
我可以理解该算法,而且一切看起来都不错,因此我在lintcode上使用下面粘贴的代码对其进行了测试。
class Solution:
"""
@param a: The first integer
@param b: The second integer
@return: The sum of a and b
"""
def aplusb(self, a, b):
while b != 0:
carry = a & b
a = a ^ b
b = carry << 1
return a
但是令人惊讶的是,它给了我Time Limit Exceeded测试用例错误[100, -100]。所以我在本地运行它,并为每个循环打印a,b:
(-8, 8)
(-16, 16)
(-32, 32)
(-64, 64)
(-128, 128)
(-256, 256)
(-512, 512)
(-1024, 1024)
(-2048, 2048)
(-4096, 4096)
(-8192, 8192)
(-16384, 16384)
(-32768, 32768)
(-65536, 65536)
(-131072, 131072)
...
计算是正确的,所以我认为该算法不适用于此类输入,但是当我用C ++编写相同的算法时,它就可以正常工作:
class Solution {
public:
int aplusb(int a, int b) {
while (b!=0){
int carry = a & b;
a = a^b;
b = carry << 1;
}
return a;
}
};
我不知道应该问什么,基本上这些问题是:
为什么C ++给出正确的输出0而Python没有给出正确的输出?
如果使用Python,如何修改此算法以使其起作用?
python的算术运算符不包括_没有算术运算符的A + B,Python与C ++相关推荐
- 每个python对象都具有布尔值_百度T7架构师透析Python对象你需要知道这些
1. Python对象 Python使用对象模型来存储数据.构造任何类型的值都是一个对象. 所有的Python对象都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对 ...
- python删除文件夹无法访问_零基础小白必看:python基本操作-文件、目录及路径
使用python的os模块,简单方便完成对文件夹.文件及路径的管理与访问操作. 1 前言 在最近开发中,经常需要对文件进行读取.遍历.修改等操作,想要快速.简单的完成这些操作,我选择用 python ...
- python实现异步的几种方式_终于搞明白了,异步Python比同步Python究竟快在哪里?...
大家好,你是否听人们说过,异步 Python 代码比"普通(或同步)Python 代码更快? 果真是那样吗? 同步和异步是什么意思? Web 应用程序通常要处理许多请求,这些请求在短时间内来 ...
- python 引用库的点.号_给大家分享一些实用的Python库
halo,大家好,我是特仑苏,今天给大家分享一些Python库,希望可以给大家带来一些用处! Python附带了几个预打包的库.但是,还有许多其他库可用于高级解释通用编程语言.您还可以从中了解异步Py ...
- python和lisp学哪个好_五位专家跟你讲讲为啥Python更适合做AI/机器学习
摘要: 为什么Python会在这股深度学习浪潮中成为编程语言的头牌?听听大牛如何解释吧! 1.Python网络编程框架Twisted的创始人Glyph Lefkowitz(glyph): 编程是一项社 ...
- 笨办法学习python应该看第几版_求问:完全小白学习Python看《笨方法学Python3》还是看《Python编程从入门到实践》?...
完全小白,建议看 <Python编程从入门到实践> 或 <像计算机科学家一样思考Python 第2版> 本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯 ...
- python零基础入门教程免费版_毫无基础的人如何入门 Python ?Python入门教程拿走不谢啦!...
随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...
- python可以写什么视觉特效_星球大战视觉特效背后的功臣——Python
阔别十年时光,全球瞩目的第七部星球大战电影<原力觉醒>将于2016年1月9日在国内上映.它将重新燃起那段神秘的太空岁月与具有原力的宇宙时光.但是,星球大战和Python编程语言又有什么关系 ...
- python可以写什么视觉特效_星球大战视觉特效背后的功臣—Python语言
本文主要向大家介绍了星球大战视觉特效背后的功臣-Python语言,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 阔别十年时光,全球瞩目的第七部星球大战电影<原力觉醒> ...
最新文章
- 计算机作业3北师大在线作业答案,北师15春《计算机应用基础(专科)》在线作业3 答案...
- EL之GB(GBM):利用GB对回归(性别属性编码+调2参)问题(整数值年龄预测)建模
- POJ 2456 Aggressive cows ( 二分 贪心 )
- mysql5.7.19 创建用户_mysql5.7.19用户的创建和权限的操作
- Java多线程--synchronized修饰普通方法和修饰静态方法的区别
- 训练技巧 | 功守道:NLP中的对抗训练 + PyTorch实现
- word List28
- 织梦cms响应式站长导航分类网站模板(自适应手机版)
- 新代系统plc梯形图说明书_东莞自动化PLC编程需要多少钱
- spark概念、编程模型和模块概述
- js Math对象属性和方法
- php之使用curl对百度orc进行文字识别(二维码识别同理)--base64编码方式(解决image format error)
- 洛谷P2082 区间覆盖(加强版)(珂朵莉树)
- OpenCV2.4.13+CUDA8.0+SSBA3.0+VS2010编译安装
- X86架构基本汇编指令详解
- 个人支付接口现状分析——总有一款适合你
- vue读取excel表格数据_vue 利用 js-xslx 读取 excel 表格文件
- 激光slam基础入门笔记2——位姿表示与变换矩阵
- Spring框架中的单例Bean是线程安全的么?
- KDevelop开发环境的搭建