情報:a
直角三角形の最短の脚のb
長さともう一方の脚の長さの差が大きいほど、角度は小さくなりますa
。b
あれは:
- トリプル (3, 4, 5) の差は 4-3=1
- トリプル (5, 12, 13) の差は 12-5=7
したがって、最小の角度はトリプル (5、12、13) になります。
範囲で定義されたすべてのピタゴラスのトリプルを比較し、最小の角度でトリプルを出力するプログラムを書いています。これまでのところうまくいかず、ここからどこに行けばよいのかわかりません。
#include <stdio.h>
int smallest(int a, int b) {
int difference = b - a;
return 0;
}
int main() {
int a = 0, b = 0, c = 0, n, counter = 1, i = 0;
printf("Please Enter a Positive Integer: \n");
scanf("%d", &n);
for (c = 0; c < n; c++) {
for (b = 0; b < c; b++) {
for (a = 0; a < b; a++) {
if (a * a + b * b == c * c ) {
printf("%d:\t%d %d %d\n", counter++, a, b, c);
}
}
}
i = counter - 1;
}
printf ("The difference is %d\n", smallest(a, b));
printf ("There are %d Pythagorean Triples in this range.\n", i);
return 0;
}
プログラムは差が0であることを出力するだけです
印刷するプログラムを探しているのは、上記の例の「最小角度の三角形は (5, 12, 13) です」
違いを並べ替えて比較する必要があることはわかっていますが、これまでのところ、これがすべてです。何かヒントはありますか?