|
>> 問1. tan(45°) の値は?
> Ans. 1
正解
>> 問2. 二次方程式の解の公式を書いてください。
> Ans. x=-b±sqrt(b*b-4ac)/2a
x = (-b ± sqrt(b*b - 4ac)) / 2a
>> 問2. y = 2*x / (1 - x*x) のとき、x を y の式で表してください。
>> ただし、x >0、y >0 とします。
> Ans. わかりません。
これがわからないと、もうお手上げです。あきらめてください。
一応、解答を書いておきます。
両辺に (1 - x*x) を掛けて、y * (1 - x*x) = 2*x
移項して整理すると、y*x*x + 2*x - y = 0
これは二次方程式だから、解の公式を使って、
x = (-2 ± sqrt(4 + 4*y*y)) / 2*y
x > 0, y > 0 だから、± の + だけでよくて、分母分子を 2 で割って、
x = (-1 + sqrt(1 + y*y)) / y
x = tan(t/2), y = tan(t) ということです。
>> 問3. 単位円の半径の値は?
> Ans. 1
正解
>> 問4. 単位円に外接する正8角形の一辺の長さは、tan(22.5°)の何倍?
> Ans. 8倍
2倍です。
単位円とそれに外接する正八角形の図を書いてください。
円の中心 O から、正八角形の一辺までの距離は 1 です。
その距離をあらわす線分 OH を書いてください。
O から、正八角形の頂点 A (H のそば)までの線分 OA を書いてください。
∠AOH = 22.5°だから、線分 AH の長さが tan(22.5°)です。
正八角形の一辺の長さは、線分 AH の長さの 2倍です。
ここまで分かれば、プログラムは簡単です。
#include <stdio.h>
#include <math.h>
int main(void)
{
double pi, t = 1; long i;
for (i = 4; i <= 100000; i *= 2) {
pi = i * t;
printf("%6ld: pi=%.15f, %.15f=tan(%.15g)\n", i, pi, t, 180./i);
t = (sqrt(1 + t*t) - 1) / t;
}
return 0;
} ここから先は、コンピュータ特有の問題です。
正32768角形までは、円周率に近づいているのに、正65536角形で、円周率から
遠ざかっているのはなぜでしょう。これは、宿題とします。
No.3711「情報落ちについて」, No.3810「計算できません」がヒントです。
|