另类加法_牛客网

题目:另类加法
请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。
给定两个int A 和 B 。请返回 A+B 的值。

测试样例:
1,2
返回:3

分析:
异或 运算结果与两数相加结果相同(不包含进位),与 运算结果和两数相加的进位相同,于是可以通过异或运算和位运算表示加法。

import java.util.*;
public class UnusualAdd {
    public int addAB(int A, int B) {
        if(B!=0){
            int a=A^B;
            int b=(A&B)<<1;
            return addAB(a,b);
        }else{
            return A;
        }
    }
}
发布了71 篇原创文章 · 获赞 2 · 访问量 7480

猜你喜欢

转载自blog.csdn.net/weixin_42512675/article/details/103226160