劍指Offer——不用加減乘除做加法

題目描述

寫一個函數,求兩個整數之和,要求在函數體內不得使用+、-、*、/四則運算符號。

題解

#include <iostream>

using namespace std;

int Add(int num1, int num2) {
    while (num2) {
        int carry = num1 ^num2;
        num2 = (num1 & num2) << 1;
        num1 = carry;
    }
    return num1;
}

int main() {
    ios::sync_with_stdio(false);
    int a, b;
    cin >> a >> b;
    cout << Add(a, b);
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章