给你一个区间输出l^(l+1)......^r的值
找了半天规律,发现方向错了,巨特么复杂,结束后发现很简单
对于F(n) = 0^1^2....……^n
其满足
long long xor1_a(long long a){
if(a%4==1)
return 1ll;
if(a%4==2)
return a+1;
if(a%4==3 || a==0)
return 0ll;
return a;
}
#include<iostream>
#include<algorithm>
using namespace std;
long long xor1_a(long long a){
if(a%4==1)
return 1ll;
if(a%4==2)
return a+1;
if(a%4==3 || a==0)
return 0ll;
return a;
}
int main(){
long long n,m;
cin>>n>>m;
if(n==0) cout<<(xor1_a(m))<<endl;
else cout<<((xor1_a(n-1))^(xor1_a(m)))<<endl;
return 0;
}