比赛 hs的新题赛 评测结果 AAAAAAAAAA
题目名称 异或约数和 最终得分 100
用户昵称 梦那边的美好ET 运行时间 1.588 s
代码语言 C++ 内存使用 3.16 MiB
提交时间 2019-04-04 11:34:21
显示代码纯文本
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#define LL long long
using namespace std;
LL solve(LL x){
	if(x%4==1)return 1;
	if(x%4==2)return x+1;
	if(x%4==3)return 0;
	return x;
}
LL n,ans;
int main(){
	freopen("xoradd.in","r",stdin);
	freopen("xoradd.out","w",stdout);
    scanf("%lld",&n);
    for(LL i=(LL)1,j;i<=n;i=j+(LL)1){
    	j=n/(n/i);
    	if((n/i)&1)ans=ans^solve(i-1)^solve(j);
    }
    printf("%lld\n",ans);
    return 0;
}