前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >P3908 异或之和

P3908 异或之和

作者头像
attack
发布2018-04-12 10:43:24
8200
发布2018-04-12 10:43:24
举报

题目描述

1 \bigoplus 2 \bigoplus\cdots\bigoplus N1⨁2⨁⋯⨁N 的值。

A \bigoplus BA⨁B 即AA , BB 按位异或。

输入输出格式

输入格式:

1 个整数NN。

输出格式:

1 个整数,表示所求的值。

输入输出样例

输入样例#1:

代码语言:javascript
复制
3

输出样例#1:

代码语言:javascript
复制
0

说明

• 对于50% 的数据,1 \le N \le 10^61≤N≤10​6​​;

• 对于100% 的数据,1 \le N \le 10^{18}1≤N≤10​18​​。

 很神奇的一道题,

打表找规律

四个一循环

代码语言:javascript
复制
 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 }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 输入输出格式
  • 输入输出样例
  • 说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档