Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tổng hai số nguyên trong Python


Cho hai số nguyên a, b. Tính tổng không dùng phép + hay -. Ví dụ: a=5, b=7 → 12.

Giải pháp

Sử dụng toán tử bitwise:

  • Nếu b = 0 → trả về a.
  • Đệ quy: sum(a^b, (a&b)<<1).

Ví dụ (Python)

Lưu ý: mã mẫu dùng C++, logic tương tự.

#include <iostream> 
using namespace std; 
class Solution { 
public: 
    int getSum(int a, int b) { 
        return b == 0?a:getSum(a^b, (unsigned int)(a&b)<<1); 
    } 
}; 
main(){ 
    Solution ob; 
    cout<<ob.getSum(5,7)<<endl; 
}

Đầu vào

a = 5 b = 7

Đầu ra

12