我找到了一种计算所有毕达哥拉斯三重奏的方法,直到一定数量,但我的程序重复了一些,只是按照不同的顺序。我怎么能避免这个?我尝试用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);
}
}
}
}
}
答案 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 )
但请注意,甚至更有效的方法,如欧几里德公式