2014-12-06 65 views
0

我找到了一種方法來計算所有的勾股定理,直到某個數字,但我的程序重複了一些,只是按不同的順序。我怎樣才能避免這種情況?我嘗試用C值(A + B B = C * C) 組織畢達哥拉斯三倍,這是我的代碼java中的勾股三元計算

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); 
       } 
      } 
     } 
    } 
} 

回答

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) 

但要注意,如歐幾里德的公式更有效的方法

+0

謝謝,我不是在尋找速度,只是爲了它的工作 – 2014-12-06 09:28:16