Cod sursa(job #1542702)
Utilizator | Data | 5 decembrie 2015 16:30:51 | |
---|---|---|---|
Problema | A+B | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
//because real men don't use addition operators
#include <stdio.h>
int add(int a, int b)
{
int sum;
int carry;
sum = a ^ b;
carry = a & b;
while (carry) {
carry <<= 1;
a = sum;
b = carry;
sum = a ^ b;
carry = a & b;
}
return sum;
}
int main()
{
int a, b;
FILE *in;
FILE *out;
in = fopen("adunare.in", "r");
fscanf(in, "%d %d", &a, &b);
fclose(in);
out = fopen("adunare.out", "w");
fprintf(out, "%d\n", add(a, b));
fclose(out);
return 0;
}