V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
shihty5
V2EX  ›  问与答

A + B 问题

  •  
  •   shihty5 · 2016-12-09 10:55:12 +08:00 · 1915 次点击
    这是一个创建于 2905 天前的主题,其中的信息可能已经有所发展或是发生改变。

    给出两个整数 a 和 b, 求他们的和, 但不能使用 + 等数学运算符。

    如果 a=1 并且 b=2 ,返回 3

    9 条回复    2016-12-09 18:42:17 +08:00
    theFool
        1
    theFool  
       2016-12-09 10:59:39 +08:00
    有 0 返回另一个
    相加可以表示成异或 位与左移的相加, 用个循环.
    mcfog
        2
    mcfog  
       2016-12-09 11:06:06 +08:00
    for(b) a++;//逃
    debiann
        3
    debiann  
       2016-12-09 11:16:18 +08:00
    把“+”实现一遍
    Vespa
        4
    Vespa  
       2016-12-09 11:25:13 +08:00
    imcotton
        5
    imcotton  
       2016-12-09 11:30:57 +08:00
    // 371. Sum of Two Integers
    // https://leetcode.com/problems/sum-of-two-integers/


    /**
    * @param {number} a
    * @param {number} b
    * @return {number}
    */
    var getSum = function (a = 0, b = 0) {
    while (a !== 0) {
    [a, b] = [(a & b) << 1, a ^ b];
    }
    return b;
    };
    shihty5
        6
    shihty5  
    OP
       2016-12-09 11:31:55 +08:00
    @Vespa 哈哈 居然写了个 service
    param
        7
    param  
       2016-12-09 13:22:29 +08:00   ❤️ 1
    我仿佛又听到有人在背后偷偷 @我
    ho121
        8
    ho121  
       2016-12-09 13:31:45 +08:00
    不用加,可以用减吗?
    a - (-1)*b
    SuperFashi
        9
    SuperFashi  
       2016-12-09 18:42:17 +08:00
    @Vespa @shihty5 哈哈,感谢,原来无聊写的, V2 上也发过 https://www.v2ex.com/t/269720
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:53 · PVG 18:53 · LAX 02:53 · JFK 05:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.