有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中的勾股三重计算

我找到了一种方法来计算所有的毕达哥拉斯三元组直到一个特定的数字,但是我的程序复制了一些,只是顺序不同。我怎样才能避免这种情况?我试着用c值组织毕达哥拉斯三元组(aa+bb=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) 个答案

  1. # 1 楼答案

    做出以下改变:

        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 )
    

    但要知道,这些方法甚至比欧几里得公式更有效