Cod sursa(job #1659571)
| Utilizator | 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;
}
