题目
勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。
已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。
求满足这个条件的不同直角三角形的个数。
【数据格式】
输入一个整数 n (0<n<10000000) 表示直角三角形斜边的长度。
要求输出一个整数,表示满足条件的直角三角形个数。
例如,输入:
5
程序应该输出:
1
再例如,输入:
100
程序应该输出:
2
再例如,输入:
3
程序应该输出:
0
代码
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
int i,n;
int sum = 0;
int temp;
System.out.println("请输入一个0到10000000之间的整数");
Scanner scanner = new Scanner(System.in);
n = scanner.nextInt();
if (n<10000000){
for (i=1;i<n;i++){
temp= (int) Math.sqrt(n*n-i*i);
if(temp*temp==n*n-i*i){
sum++;
}
}
System.out.println(sum/2);//除2去重
}
}
}
知识点:
Math.sqrt():返回参数的算术平方根。
参考文章:传送门
版权声明:本文为weixin_44894962原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。