如题,使用了 bitset 实现 A + B。
#include <bits/stdc++.h>
#define bi bitset <40>
using namespace std;
bi add(bi a, bi b) {
if (!a.count()) return b;
if (!b.count()) return a;
return add(a ^ b, (a & b) << 1);
}
int main() {
int A, B;
cin >> A >> B;
bi a(A), b(B);
cout << add(a, b).to_ulong();
}