G

   題目:https://ac.nowcoder.com/acm/contest/879/G

  倍增求b的因子和

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const ll N=2000100;
int a[N],b[N],vis[N],ans=0;
int main(){
	int n,k,m;
	cin>>n>>k>>m;
	a[1]=k;
	for(int i=2;i<=n;i++){
		a[i]=(a[i-1]+7*i)%m;
		
	}
	for(int i=1;i<=n;i++){
		for(int j=i;j<=n;j+=i){//倍增
			b[j]+=a[i];
		}
        
	}
     for(int i=1;i<=n;i++){
     	ans^=b[i];
	 }
	cout<<ans<<endl;
	return 0;
} 

 

發佈了58 篇原創文章 · 獲贊 24 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章