http://210.44.14.31/problem/show/1147
题目大意:给定任意直角边,求有多少组边能组成直角三角形
利用勾股定理 c^2=a^2+b^2得到 a^2=(c-b)(c+b) 然后设定两个未知数穷举得到答案
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int main()
{
__int64 a;
while(cin>>a){
if(a==0) break;
__int64 r=0;
for(__int64 i=1;i<=a/2;i++){
if(a*a%i==0){
__int64 j=a*a/i;
if((i-j)%2==0){
__int64 b=(j-i)/2;
if(b>a){
r++;
}
}
}
}
cout<<r<<endl;
}
}