勾股定理

/*勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形。

  已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。

  求满足这个条件的不同直角三角形的个数。

【数据格式】
输入一个整数 n (0<n<10000000) 表示直角三角形斜边的长度。
要求输出一个整数,表示满足条件的直角三角形个数。

例如,输入:
5
程序应该输出:
1

再例如,输入:
100
程序应该输出:
2

再例如,输入:
3
程序应该输出:
0

资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗  < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。*/
package test;
import java.util.*;
public class 勾股定理 {
    public static void main(String[] args) {  
        Scanner sca = new Scanner(System.in);  
        int n = sca.nextInt(),cnt = 0;  
        int t = (int) Math.sqrt(n*n/2.0); //当另外两边相等,且构成直角三角形 
        for(int i = 1; i <= t; ++i){  
            int j = (int) Math.sqrt(n*n*1.0-i*i);  
            if(i*i+j*j == n*n)  
                ++cnt;  
        }  
        System.out.println(cnt);  
    }  

}
原文地址:https://www.cnblogs.com/ljs-666/p/8563392.html