1

情報:a直角三角形の最短の脚のb長さともう一方の脚の長さの差が大きいほど、角度は小さくなりますabあれは:

  • トリプル (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) です」

違いを並べ替えて比較する必要があることはわかっていますが、これまでのところ、これがすべてです。何かヒントはありますか?

4

2 に答える 2