// 求解关于x^2+y^2=z^2 其中x,y,z均为整数的问题
#include<cstdio> #include<cstring> #include<cmath> using namespace std; int main() { __int64 i,j,k,m; __int64 num=0; for(m=1;; m++) { for(i=1; i<=2*m; i++) { __int64 sum=i*(2*m+i); __int64 an=sqrt(sum); if(an*an==sum&&an<=2*m) { __int64 l=(an-m)>1?(an-m):1; __int64 r=(an/2)<m?(an/2):m; num+=(r-l+1); } } // printf("%I64d %I64d\n",m,num); if(num>=1000000)break; } printf("%I64d\n",m); return 0; }