簡體   English   中英

Java中的勾股三元計算

[英]Pythagorean triple calculation in 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);
                }
            }
        }
    }
}

進行更改:

    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 )

但請注意,甚至是更有效的方法,例如Euclid公式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM