30分求助……
查看原帖
30分求助……
658786
STUDENT00楼主2022/10/19 21:44

分解为高斯质数的思路,结果TLE了……30分,我苦啊!

#include<bits/stdc++.h>
#define int long long
using namespace std;
int r,ans,a;
int X(int n){
	if(n%2==1){
		if(n%4==1) return 1;
		else return -1;
	}else return 0;
}
signed main(){
	scanf("%lld",&r);
	a=r*r;
	for(register int i=1;i<=r;i++){
		if(a%i==0){
			ans+=X(i);
			if(i!=r) ans+=X(a/i);
		}
	}
	printf("%lld",ans*4);
	return 0;
}
2022/10/19 21:44
加载中...