Cod sursa(job #65534)
Utilizator | Data | 10 iunie 2007 17:54:08 | |
---|---|---|---|
Problema | A+B | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.37 kb |
#include <stdio.h>
int add(int A,int B)
{
if((A == 0)&&(B == 0))
return 0;
else
if((A != 0)&&(B != 0))
return B&1 + add(A,(B-B&1)>>1)<<1;
else
return add(B,A);
}
int main()
{
freopen("adunare.in","r",stdin);
freopen("adunare.out","w",stdout);
int A,B;
scanf("%d%d", &A,&B);
printf("%d\n", add(A,B));
return 0;
}