
先找一找序列的规律
 发现和斐波那契数列很像
 设
    
     
      
       
        
         f
        
        
         i
        
       
      
      
       f_i
      
     
    fi为斐波那契数列第i项
 则前
    
     
      
       
        
         f
        
        
         i
        
       
      
      
       f_i
      
     
    fi个中有
    
     
      
       
        
         f
        
        
         
          i
         
         
          −
         
         
          1
         
        
       
      
      
       f_{i-1}
      
     
    fi−1个1
 而且将前
    
     
      
       
        
         f
        
        
         i
        
       
      
      
       f_i
      
     
    fi个去掉后,剩下的序列依然满足
 所以直接做就可以了
c o d e code code
#include<iostream>
#include<cstdio>
#define ll unsigned long long
using namespace std;
ll t;
ll a, b, f[110];
ll d(ll x)
{
	ll ans=0;
	while(x)
	{
		ll i=1;
		while(x>=f[i]) i++;
		i--;
//		cout<<f[i-1]<<' '<<f[i]<<' '<<i<<endl; 
		ans+=f[i-1];
		x-=f[i];
	}
	return ans;
}
int main()
{
	scanf("%llu", &t);
	f[1]=f[2]=1;
	for(ll i=3; i<=100; i++)
		f[i]=f[i-1]+f[i-2];
	while(t--)
	{
		scanf("%llu%llu", &a, &b);
		printf("%llu\n", d(b)-d(a-1));
	}
	return 0;
}










