半径1の円に内接する2のn乗(2<=n)の正多角形は、nの値が大きくなると円に近づく。

C言語関連42閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

理解できました。ありがとうございました。

お礼日時:5/19 12:16

その他の回答(2件)

0

計算を間違えているかもしれません。 半径1の円に内接する正方形の一辺が√2であるところから出発しています。 πの近似にπを使うのはいかがなものか?と思ったので、三平方の定理を使ってどんどんnを増やしています。 #include <math.h> #include <stdio.h> int main(void) {     int i = 2;     double a = sqrt(2), b, c, n;     while (i <= 30) {         n = pow(2, i);         printf("%.20f : %.f\n", a * n / 2, n);         a = a / 2;         b = sqrt(1 - a * a);         c = 1 - b;         a = sqrt(a * a + c * c);         i++;     }     return 0; } ー 実行結果 ー 2.82842712474619030000 : 4 3.06146745892071870000 : 8 3.12144515225805290000 : 16 3.13654849054593980000 : 32 3.14033115695475340000 : 64 3.14127725093277330000 : 128 3.14151380114430130000 : 256 3.14157294036709180000 : 512 3.14158772527716000000 : 1024 3.14159142151120020000 : 2048 3.14159234557011800000 : 4096 3.14159257658487290000 : 8192 3.14159263433856320000 : 16384 3.14159264877698610000 : 32768 3.14159265238659200000 : 65536 3.14159265328899370000 : 131072 3.14159265351459420000 : 262144 3.14159265357099440000 : 524288 3.14159265358509420000 : 1048576 3.14159265358861940000 : 2097152 3.14159265358950050000 : 4194304 3.14159265358972070000 : 8388608 3.14159265358977580000 : 16777216 3.14159265358978960000 : 33554432 3.14159265358979310000 : 67108864 3.14159265358979400000 : 134217728 3.14159265358979440000 : 268435456 3.14159265358979440000 : 536870912 3.14159265358979440000 : 1073741824 ㅤㅤㅤ円周率(近似)ㅤㅤㅤㅤㅤ正n角形

1

プログラミング以前の問題として、円に内接する正多角形の辺の長さを求める(計算はともかく、数式をたてる)ことはできますか?数学の問題として。 まずそれをやって、数式をプログラムに落としこむ、というのが手順になるかと思います。

1人がナイス!しています