题目描述
对于如下的一个直角三角形,有等式a2+b2=c2 恒成立,这就是勾股定理。
现在给出你边c 的长度,请你求出有多少对不同a,b 满足a2+b2=c2,a,b,c均为整数,其实就是求有多少个不同形状的斜边为c 的直角三角形个数。
输入
输入第一行一个整数c(1≤c≤106) ,表示三角形斜边的长度。
输出
按照题目要求输出答案。
#include <stdio.h>
#include <math.h>
int main() {
long long c;
int n = 0;
scanf("%d", &c);
//printf("c * c =%lld\n",c * c);
for (long long i = 0; i < c; i++) {
double j = sqrt(c * c - i * i);
if (i + j > c && i >= j) {
if (j == (int)j) {
n++;
//printf("%d %d\n",i, (int)j);
}
}
}
printf("%d",n);
return 0;
}