分解为高斯质数的思路,结果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;
}