Pagini recente » Cod sursa (job #971975) | Cod sursa (job #2564999) | Cod sursa (job #400540) | Cod sursa (job #1417478) | Cod sursa (job #466231)
Cod sursa(job #466231)
#include<stdio.h>
#define infile "fibo3.in"
#define outfile "fibo3.out"
unsigned long long a[100];
long n;
void solve()
{
long nr,i,j,k;
long long x,y,x1,y1,x2,y2;
long long ras;
long min,max;
scanf("%ld",&n);
for(i=1;i<=n;i++)
{
scanf("%lld %lld %lld %lld",&x1,&y1,&x2,&y2);
nr=0;
x=y1+x1;
y=y2+x1;
min=100;
max=0;
for(k=1;k<=74;k++)
{
if((a[k]<=y)&&(a[k]>=x))
{
nr++;
if(a[k]>max)
max=k;
if(a[k]<min)
min=k;
}
else
if(a[k]>y)
break;
}
ras=nr;
for(j=x1+1;j<=x2;j++)
{
x+=1;
y+=1;
if(x>a[min])
{
nr--;
min++;
}
if(y>=a[max+1])
{
nr++;
max++;
}
ras+=nr;
}
printf("%lld\n",ras);
}
}
void fibo()
{
long i=2;
//a[0]=1;
a[1]=1;
a[2]=2;
while(a[i]<20000*1000000*100008)
{
i++;
a[i]=a[i-1]+a[i-2];
// a[0]=i;
}
//printf("%llu %llu",a[0],a[70]);
}
int main()
{
freopen(infile,"r",stdin);
freopen(outfile,"w",stdout);
fibo();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}