《Cracking the Coding Interview程式設計師面試金典》----另類加法(不得使用+-x/運算子號)

塵封的記憶0發表於2017-05-03
時間限制:3秒 空間限制:32768K 熱度指數:756
 演算法知識視訊講解

題目描述

請編寫一個函式,將兩個數字相加。不得使用+或其他算數運算子。

給定兩個int AB。請返回A+B的值

測試樣例:
1,2

返回:3

思路:A^B相加但不進位,(A&B)<<1進位但不相加

程式碼如下:

class UnusualAdd {
public:
    int addAB(int A, int B) {
        // write code here
        if(B==0) return A;
        int sum,carry;
        sum=A^B;
        carry=(A&B)<<1;
        return addAB(sum,carry);
    }
};

不懂的可以加我的QQ群:261035036(IT程式設計師面試寶典

群) 歡迎你到來哦,看了博文給點腳印唄,謝謝啦~~


相關文章