Pagini recente » Cod sursa (job #290575) | Cod sursa (job #2870324) | Arhiva de probleme | Cod sursa (job #274896) | Cod sursa (job #466119)
Cod sursa(job #466119)
#include<stdio.h>
long long fibo[55];
long long avem(long x1,long y1,long x2,long y2,int j)
{
long long i,k,nr=0;
i=x1;
k=fibo[j]-i;
while(k>=y1&&i<=x2)
{
if(k<=y2&&i>=x1)
nr++;
k--;
i++;
}
return nr;
}
int main()
{
freopen("fibo3.in","r",stdin);
freopen("fibo3.out","w",stdout);
long x1,x2,y1,y2,n,i,j;
long long nr;
scanf("%ld",&n);
fibo[0]=fibo[1]=1;
for(i=2;i<=45;i++)
fibo[i]=fibo[i-1]+fibo[i-2];
for(i=1;i<=n;i++)
{
nr=0;
scanf("%ld%ld%ld%ld",&x1,&y1,&x2,&y2);
for(j=1;j<=45;j++)
if(fibo[j]>=x1+y1)
{
if(fibo[j]<=x2+y2)
nr=nr+avem(x1,y1,x2,y2,j);
else
break;
}
printf("%lld\n",nr);
}
return 0;
}