Cod sursa(job #1659571)
Utilizator | Craciun Catalin catalincraciun | Data | 22 martie 2016 12:48:34 |
---|---|---|---|
Problema | A+B | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("adunare.in");
ofstream g("adunare.out");
int getSum(int p, int q)
{
int result = p ^ q; // + without carry 0+0=0, 0+1=1+0=1, 1+1=0
int carry = (p & q) << 1; // 1+1=2
if (carry != 0) {
return getSum(result, carry);
}
return result;
}
int main() {
int a, b;
f>>a>>b;
g<<getSum(a,b)<<'\n';
f.close(); g.close();
return 0;
}