情報領域演習第一:P演習

電気通信大学情報理工学域I類 (情報系)
2017年度後学期 (再履修生用)


[一覧に戻る]


課題B4

問題

数学において,非負実数 $x$ に対する次の $f(x)$, $g(x)$, $h(x)$ は必ず等しい. \[ f(x) = 1 - \frac{1}{\sqrt{1+x}}, \qquad g(x) = \frac{\sqrt{1+x} - 1}{\sqrt{1+x}}, \qquad h(x) = \frac{x}{1+x+\sqrt{1+x}}. \] この3つの値がコンピュータ上でも等しくなるのか,検証してみたい. $x$ が与えられたとき,$f(x)$, $g(x)$, $h(x)$ の値を計算し,出力せよ.

仕様

ヒント

例えば,double型の変数 x の値を指数表記で出力する場合は次のように書けばよい.
printf("%e\n", x);
仮数部を小数点以下10桁まで表示するには,以下のように書けばよい.
printf("%.10e\n", x);

入力              => 出力
1.0000000000e+01 => 6.9848865542e-01 6.9848865542e-01 6.9848865542e-01
1.6666666666e-10 => 8.3333340228e-11 8.3333340221e-11 8.3333333320e-11
1.2345678901e-20 => 0.0000000000e+00 0.0000000000e+00 6.1728394505e-21
1.4142135624e+10 => 9.9999159104e-01 9.9999159104e-01 9.9999159104e-01
1.4142135624e+99 => 1.0000000000e+00 1.0000000000e+00 1.0000000000e+00

注意

プログラミングの方法や実行環境によって,上に挙げた例と同じ出力が得られないかもしれない.重要な点は,出力が必ずしも同じになるとは限らず,どれが「真の値」に近いのか正しく考察することである.

提出法

CEDにて,プログラムを作成したディレクトリで以下を実行せよ.
> ~oa000833/enshu1p/2016/checker_b4.rb ファイル名
「Submission successfully completed.」と表示されれば,提出が完了したことになる.


[一覧に戻る]


[Teaching Top] [Top]
okamotoy@uec.ac.jp