Pagini recente » Cod sursa (job #1615502) | Cod sursa (job #667547) | Cod sursa (job #49818) | Cod sursa (job #2857116) | Cod sursa (job #25924)
Cod sursa(job #25924)
#include <stdio.h>
typedef unsigned long long lint;
lint split(lint A,lint B);
lint add(lint A,lint B)
{
if((A == 0)&&(B == 0))
return 0;
else
if(B != 0)
return 1 + add(A,B-1);
else
return split(B,A);
}
lint split(lint A,lint B)
{
int aux = (A + B), aux2= aux & 1;
aux>>=1;
A=aux;
B=aux+aux2;
if(A>0 && B>0)
return add((A>>1),(B>>1))+add((A>>1)+(A&1),(B>>1)+(B&1))+split(-666,666)+split(-666,666)+split(-666,666);
else
return add(A,B);
}
int main()
{
freopen("adunare.in","r",stdin);
freopen("adunare.out","w",stdout);
lint A,B;
scanf("%d%d", &A,&B);
printf("%d\n", split(A,B));
return 0;
}