P3908 异或之和
题目描述
求1 \bigoplus 2 \bigoplus\cdots\bigoplus N1⨁2⨁⋯⨁N 的值。
A \bigoplus BA⨁B 即AA , BB 按位异或。
输入输出格式
输入格式:
1 个整数NN。
输出格式:
1 个整数,表示所求的值。
输入输出样例
输入样例#1:
3
输出样例#1:
0
说明
• 对于50% 的数据,1 \le N \le 10^61≤N≤106;
• 对于100% 的数据,1 \le N \le 10^{18}1≤N≤1018。
很神奇的一道题,
打表找规律
四个一循环
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 #define lli long long int 7 using namespace std; 8 const int MAXN=10000001; 9 const int mod=1e9+7; 10 inline void read(int &n) 11 { 12 char c=getchar();n=0;bool flag=0; 13 while(c<'0'||c>'9') c=='-'?flag=1,c=getchar():c=getchar(); 14 while(c>='0'&&c<='9') n=n*10+c-48,c=getchar();n=flag==1?-n:n; 15 } 16 17 int main() 18 { 19 long long n=0; 20 cin>>n; 21 if(n%4==1) printf("1"); 22 else if(n%4==3) printf("0"); 23 else if(n%4==2)printf("%lld",n+1); 24 else if(n%4==0) printf("%lld",n); 25 return 0; 26 }
作者:自为风月马前卒
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。