fork download
  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. typedef long long ll;
  5. ll odd(ll n)
  6. {
  7. while(n%2==0)
  8. n= n/2;
  9. return n;
  10. }
  11. int main()
  12. {
  13. int t,i;
  14. ll w[1000001];
  15. w[0] =0;
  16. for(i=1;i<=1000001;i++)
  17. {
  18. if(i%2!=0)
  19. w[i] = i;
  20. else
  21. w[i] = odd(i);
  22. w[i] = w[i]^w[i-1];
  23. }
  24. cin>>t;
  25. while(t--)
  26. {
  27. ll l,r;
  28. scanf("%lld%lld",&l,&r);
  29. ll ans = w[l]^w[r]^l;
  30. printf("%lld\n",ans);
  31. }
  32. return 0;
  33. }
Success #stdin #stdout 0s 23752KB
stdin
1 
3 5
stdout
7