Cod sursa(job #3218)
| Utilizator | Data | 22 decembrie 2006 10:38:10 | |
|---|---|---|---|
| Problema | Cutii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<fstream.h>
long long fib[1000],n;
long long det_nr1(int x)
{int dr=n;
long long k=0;
while(x)
{for(;fib[dr]>x;dr--);
x-=fib[dr];
k+=fib[dr-1];
}
return k;
}
void formeaza_vect()
{int i;
for(i=2,fib[1]=1;fib[i-1]<=10000000000000000000LL;i++)
fib[i]=fib[i-1]+fib[i-2];
n=i-1;
}
int main()
{long long q,i,a,b;
ifstream f("infinit.in");
f>>q;
formeaza_vect();
ofstream g("infinit.out");
for(i=1;i<=q;i++)
{f>>a>>b;
g<<det_nr1(b)-det_nr1(a-1)<<'\n';
}
g.close();
return 0;
}
