1、通过这道题,我学习了“暴力求解,然后找规律”的方法。正常情况下去分析每一个二进制位自然是可以的,但是暴力法的话会更加直观一些。
2、注意printf("%lld\n,1);交到OJ上会出错,所以应该将1作为字符打出来。
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
long long n,t;
while(scanf("%lld",&n)==1){
t=n%4;
switch(t){
case 1:
printf("1\n");
break;
case 2:
printf("%lld\n",n+1);
break;
case 3:
printf("0\n");
break;
case 0:
printf("%lld\n",n);
break;
}
}
return 0;
}