私はコンピュータサイエンスのクラスで実験を行っている。宿題として割り当てられる。私はピタゴラスのトリプルがすべて1から入力された数になるようなプログラムを作るはずです。私はその部分をすることができると信じていますが、私は別の要件に混乱しています。入力した整数が偶数か奇数かをチェックし、a、b、cのGCFが1であることを確認しなければなりません。第二に、aが奇数ならば、bは偶数でなければならず、aが偶数ならばbは奇数でなければならず、cはa/bの組み合わせに対して奇数でなければならない。
説明: ネストループを使用して、1から提供された までのすべてのピタゴラスのトリプルを生成します。 3つの数字を3つにするには、いくつかの要件を満たす必要があります。最初に、3つの数字 は、a2 + b2 == c2 を満たす必要があります。第2に、もしaが奇数ならば、bは偶数でなければならず、aが偶数ならば、bは の奇数でなければならず、cはa/bの組み合わせに対して奇数でなければならない。最後に、a、b、およびcの最大公約数は、 は1より大きくない必要があります。
また、forループの最後に、三つ組を見つけるために、私は偶数か奇数かを調べようとしましたしかし、私はaが奇妙であるかどうかをチェックする方法を知らず、GCFの部分だけでなくbも同じです。私が間違いを犯した場合は私を修正し、私のコーディング割り当てを終了する方法について助言を与えてください。前もって感謝します!
マイコード:
package chapter4;
import java.util.*;
/**
*
* @author Anthony
*/
public class Triples {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Choose a limit for the pythsgorean triplets");
int limit = scan.nextInt();
int a, b, c;
for (a = 0; a < limit; a++) {
for (b = 0; b < limit; b++) {
for (c = 0; c < limit; c++){
if((Math.pow(a,2) + Math.pow(b, 2) == Math.pow(c, 2))) {
System.out.printf(" %d, %d, %d", a, b, c);
}
}
}
for (a = 0; a < limit; a++) {
if (a % 2)
printf("%d is odd\n", a);
else
printf("%d is even\n", a);
return 0;
}
}
あなたの先生は基本的に代わりにあれば提案したブロックを置く場合でも、奇数falseの場合、また、%2 == 1が真である、ピタゴラスの定理を使用しないようにあなたを語っています –