勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。、
已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。
求满足这个条件的不同直角三角形的个数。
输入一个整数n(在0到10000000),表示直角三角形斜边的长度。
要求输出一个整数,表示满足条件的直角三角形个数。
例如,输入:
5
程序应该输出:
1
再例如,输入:
100
程序应该输出:
2
再例如,输入:
3
程序应该输出:
0
import java.util.Scanner;
public class BB0505 {
public static void main(String[] args) {
long a, b, c, aa, bb, cc, sum = 0;
Scanner cin = new Scanner(System.in);
while (cin.hasNext()) {
sum = 0;
c = cin.nextLong();
cc = c * c;
for (a = 1; a < c / Math.sqrt(2); a++) {
aa = a * a;
b = (long) Math.sqrt(cc - aa);
if (b * b + aa == cc) {
sum++;
}
}
System.out.println(sum);
}
}
}