Cod sursa(job #1542702)

Utilizator PasarelAlex Oltean Pasarel 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;
}