前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >牛客网 不用加减乘除做加法

牛客网 不用加减乘除做加法

作者头像
发布2018-09-03 18:10:41
6040
发布2018-09-03 18:10:41
举报
文章被收录于专栏:WD学习记录WD学习记录

题目:

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

解答:

看到题目,最直接的想法应该是按照二进制的计算,然而看到好多人提交的是用sum()函数。

二进制计算方法,参考:Python 解决面试题47 不用加减乘除做加法

代码语言:javascript
复制
# -*- coding:utf-8 -*-
class Solution:
    def Add(self, num1, num2):
        # write code here
        carry = 1
        while carry:
            s = num1 ^ num2
            carry = 0xFFFFFFFF & ((num1 & num2) << 1)
            carry = -(~(carry - 1) & 0xFFFFFFFF) if carry > 0x7FFFFFFF else carry
            num1 = s
            num2 = carry
        return num1
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年08月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目:
  • 解答:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档