我试图解决一个老问题:

编写一个将两个[整数]数字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 ++相关推荐

  1. 每个python对象都具有布尔值_百度T7架构师透析Python对象你需要知道这些

    1. Python对象 Python使用对象模型来存储数据.构造任何类型的值都是一个对象. 所有的Python对象都拥有三个特性:身份,类型和值. 身份: 每一个对象都有一个唯一的身份标识自己,任何对 ...

  2. python删除文件夹无法访问_零基础小白必看:python基本操作-文件、目录及路径

    使用python的os模块,简单方便完成对文件夹.文件及路径的管理与访问操作. 1 前言 在最近开发中,经常需要对文件进行读取.遍历.修改等操作,想要快速.简单的完成这些操作,我选择用 python ...

  3. python实现异步的几种方式_终于搞明白了,异步Python比同步Python究竟快在哪里?...

    大家好,你是否听人们说过,异步 Python 代码比"普通(或同步)Python 代码更快? 果真是那样吗? 同步和异步是什么意思? Web 应用程序通常要处理许多请求,这些请求在短时间内来 ...

  4. python 引用库的点.号_给大家分享一些实用的Python库

    halo,大家好,我是特仑苏,今天给大家分享一些Python库,希望可以给大家带来一些用处! Python附带了几个预打包的库.但是,还有许多其他库可用于高级解释通用编程语言.您还可以从中了解异步Py ...

  5. python和lisp学哪个好_五位专家跟你讲讲为啥Python更适合做AI/机器学习

    摘要: 为什么Python会在这股深度学习浪潮中成为编程语言的头牌?听听大牛如何解释吧! 1.Python网络编程框架Twisted的创始人Glyph Lefkowitz(glyph): 编程是一项社 ...

  6. 笨办法学习python应该看第几版_求问:完全小白学习Python看《笨方法学Python3》还是看《Python编程从入门到实践》?...

    完全小白,建议看 <Python编程从入门到实践> 或 <像计算机科学家一样思考Python 第2版> 本书以培养读者以计算机科学家一样的思维方式来理解Python语言编程.贯 ...

  7. python零基础入门教程免费版_毫无基础的人如何入门 Python ?Python入门教程拿走不谢啦!...

    随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...

  8. python可以写什么视觉特效_星球大战视觉特效背后的功臣——Python

    阔别十年时光,全球瞩目的第七部星球大战电影<原力觉醒>将于2016年1月9日在国内上映.它将重新燃起那段神秘的太空岁月与具有原力的宇宙时光.但是,星球大战和Python编程语言又有什么关系 ...

  9. python可以写什么视觉特效_星球大战视觉特效背后的功臣—Python语言

    本文主要向大家介绍了星球大战视觉特效背后的功臣-Python语言,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 阔别十年时光,全球瞩目的第七部星球大战电影<原力觉醒> ...

最新文章

  1. 计算机作业3北师大在线作业答案,北师15春《计算机应用基础(专科)》在线作业3 答案...
  2. EL之GB(GBM):利用GB对回归(性别属性编码+调2参)问题(整数值年龄预测)建模
  3. POJ 2456 Aggressive cows ( 二分 贪心 )
  4. mysql5.7.19 创建用户_mysql5.7.19用户的创建和权限的操作
  5. Java多线程--synchronized修饰普通方法和修饰静态方法的区别
  6. 训练技巧 | 功守道:NLP中的对抗训练 + PyTorch实现
  7. word List28
  8. 织梦cms响应式站长导航分类网站模板(自适应手机版)
  9. 新代系统plc梯形图说明书_东莞自动化PLC编程需要多少钱
  10. spark概念、编程模型和模块概述
  11. js Math对象属性和方法
  12. php之使用curl对百度orc进行文字识别(二维码识别同理)--base64编码方式(解决image format error)
  13. 洛谷P2082 区间覆盖(加强版)(珂朵莉树)
  14. OpenCV2.4.13+CUDA8.0+SSBA3.0+VS2010编译安装
  15. X86架构基本汇编指令详解
  16. 个人支付接口现状分析——总有一款适合你
  17. vue读取excel表格数据_vue 利用 js-xslx 读取 excel 表格文件
  18. 激光slam基础入门笔记2——位姿表示与变换矩阵
  19. Spring框架中的单例Bean是线程安全的么?
  20. KDevelop开发环境的搭建

热门文章

  1. 关于svn更新失败,clearup异常解决
  2. vss error reading from file 解决方法
  3. 解决git clone慢问题
  4. 兼容IE低版本的文件上传解决方案
  5. Android:如何将Enum放入捆绑包中?
  6. ES6 对象的新功能与解构赋值介绍
  7. Shell编程(week4_day1)--技术流ken
  8. flex 客户端缓存SharedObject
  9. LNMP(php-fpm的pool,慢执行日志,定义open_bashdir,php-fpm进程管理
  10. Wind River Helix系统及物联网解决方案 简化企业IOT部署