BZOJ1401
http://www.lydsy.com/JudgeOnline/problem.php?id=1041
科普一下高斯素数以及复平面那一套理论https://www.bilibili.com/video/av3372382/#page=52
以及勾股数可视化 https://www.bilibili.com/video/av12133637/
#include<cstdio> #include<cmath> typedef long long ll; ll x; int ans,cnt; int main(){ scanf("%lld",&x); ans=1; for(register int i=2;1ll*i*i<=x;++i){ cnt=0; while(x%i==0){ x/=i; if(i%4==1) ++cnt; } ans*=(cnt*2+1); } if(x%4==1&&x!=1) ans*=3; printf("%d\n",ans*4); return 0; }