A + B 问题

2016-12-09 10:55:12 +08:00
 shihty5

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

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

1915 次点击
所在节点    问与答
9 条回复
theFool
2016-12-09 10:59:39 +08:00
有 0 返回另一个
相加可以表示成异或 位与左移的相加, 用个循环.
mcfog
2016-12-09 11:06:06 +08:00
for(b) a++;//逃
debiann
2016-12-09 11:16:18 +08:00
把“+”实现一遍
Vespa
2016-12-09 11:25:13 +08:00
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
2016-12-09 11:31:55 +08:00
@Vespa 哈哈 居然写了个 service
param
2016-12-09 13:22:29 +08:00
我仿佛又听到有人在背后偷偷 @我
ho121
2016-12-09 13:31:45 +08:00
不用加,可以用减吗?
a - (-1)*b
SuperFashi
2016-12-09 18:42:17 +08:00
@Vespa @shihty5 哈哈,感谢,原来无聊写的, V2 上也发过 https://www.v2ex.com/t/269720

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/326375

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX