第06回の復習課題
演習課題 ex06-9.c
実数 x の値を入力すると、次のテイラー展開 $$\frac{1}{1-x} = \sum_{k=0}^\infty x^k\quad (|x| < 1)$$ の第n項までの値(初項 k=0 から k=n まで、n+1項の和)を順に出力するプログラム ex06-9.c を作成し、kiso2コマンドを用いて提出しなさい。 ただし、第n項までのテイラー展開の値と、実際の $\frac{1}{1-x}$ の値は共に小数点以下第9桁まで表示し、それら2つの値の差(誤差)が $10^{-6} = 0.000001$ 未満になるとプログラムは計算を停止し終了する。 また、x に入力された値が |x|<1 を満たさない場合は、何も出力せずにプログラムを終了するものとする。
実行例:
t190900@s01cd0542-160:~/kiso2-2019/ex06$ ./ex06-9 1 t190900@s01cd0542-160:~/kiso2-2019/ex06$ ./ex06-9 0 k= 0, talor=1.000000000, diff=0.000000000 t190900@s01cd0542-160:~/kiso2-2019/ex06$ ./ex06-9 0.1 k= 0, talor=1.000000000, diff=0.111111111 k= 1, talor=1.100000000, diff=0.011111111 k= 2, talor=1.110000000, diff=0.001111111 k= 3, talor=1.111000000, diff=0.000111111 k= 4, talor=1.111100000, diff=0.000011111 k= 5, talor=1.111110000, diff=0.000001111 k= 6, talor=1.111111000, diff=0.000000111 t190900@s01cd0542-160:~/kiso2-2019/ex06$ ./ex06-9 0.5 k= 0, talor=1.000000000, diff=1.000000000 k= 1, talor=1.500000000, diff=0.500000000 k= 2, talor=1.750000000, diff=0.250000000 k= 3, talor=1.875000000, diff=0.125000000 k= 4, talor=1.937500000, diff=0.062500000 k= 5, talor=1.968750000, diff=0.031250000 k= 6, talor=1.984375000, diff=0.015625000 k= 7, talor=1.992187500, diff=0.007812500 k= 8, talor=1.996093750, diff=0.003906250 k= 9, talor=1.998046875, diff=0.001953125 k=10, talor=1.999023438, diff=0.000976562 k=11, talor=1.999511719, diff=0.000488281 k=12, talor=1.999755859, diff=0.000244141 k=13, talor=1.999877930, diff=0.000122070 k=14, talor=1.999938965, diff=0.000061035 k=15, talor=1.999969482, diff=0.000030518 k=16, talor=1.999984741, diff=0.000015259 k=17, talor=1.999992371, diff=0.000007629 k=18, talor=1.999996185, diff=0.000003815 k=19, talor=1.999998093, diff=0.000001907 k=20, talor=1.999999046, diff=0.000000954 t190900@s01cd0542-160:~/kiso2-2019/ex06$ ./ex06-9 -0.2 k= 0, talor=1.000000000, diff=0.166666667 k= 1, talor=0.800000000, diff=0.033333333 k= 2, talor=0.840000000, diff=0.006666667 k= 3, talor=0.832000000, diff=0.001333333 k= 4, talor=0.833600000, diff=0.000266667 k= 5, talor=0.833280000, diff=0.000053333 k= 6, talor=0.833344000, diff=0.000010667 k= 7, talor=0.833331200, diff=0.000002133 k= 8, talor=0.833333760, diff=0.000000427
C言語では $b\times10^n$ で表される実数値「定数」を “ben” の形で表記することができます。
たとえば、$10^{3}, 2\times10^{-1}, -1.2\times10^{3}$ は、プログラム中でそれぞれ、1e3, 2e-1, -1.2e3 と書くことができます。
ただし、変数 b=3; を用いて “be2” ($3\times10^2$ ?) のような表記はできません。