在毕达哥拉斯三重计算在java中

时间:2014-12-06 09:09:53

标签: java

我找到了一种计算所有毕达哥拉斯三重奏的方法,直到一定数量,但我的程序重复了一些,只是按照不同的顺序。我怎么能避免这个?我尝试用c值组织毕达哥拉斯三重奏(a a + b b = c * c) 这是我的代码

    import java.util.Scanner;
public class Ex4 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int Number;
        Number = s.nextInt();
        for(int c=1;c<Number;c++){
            for(int b=1;b<Number;b++){
                for(int a=1;a<Number-2;a++){
                    if(a*a + b*b == c*c)
                        System.out.println("("+a+","+b+","+c+") : "+a+"*"+a+" + "+b+"*"+b+" = "+c+"*"+c);
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

进行此更改:

    for(int c=1;c<Number;c++){
        for(int b=1;b<c;b++){
            for(int a=1;a<b;a++){
                if(a*a + b*b == c*c )

但请注意,甚至更有效的方法,如欧几里德公式