e的0.1次方的求近似值的公式怎么算?

题库
提交
【问题描述】给定一个精度e,用下列Taylor公式计算(1+x)a,|x|<1的近似值。(1+x)a=1+ax+a(a-1)x2/2!+...+[a(a-1)×...×(a-n+1)]xn/n!+...,
x|<1其中|x|<1,e为实数,a为实数。编写程序根据用户输入的x(|x|<1)、a和e的值,利用上述Taylor展开式计算(1+x)a的近似值,要求前后两次迭代之差的绝对值小于e,给出相应的最小迭代次数n和最后一次计算的(1+x)a的值。【输入形式】从控制台输入小数x(|x|<1且x不等于0)、实数a和实数e(0<e<|x|),两数中间用空格分隔。【输出形式】控制台输出公式结果:输出迭代次数n和最后一次计算的(1+x)a的值(以一个空格分隔,并且输出(1+x)a时要求小数点后保留8位有效数字)。【样例输入1】0.63628 0.5 0.00000001【样例输出1】28 1.27917161【样例输入2】0.47683 -0.5 0.00000001【样例输出2】23 0.82287667【样例说明】输入x为0.63628,a为0.5,e为0.00000001(小数点后8位),当n为28时,根据Taylor展开式求得(1+x)a近似值为1.279171611(小数点后9位),n为29时,根据Taylor展开式求得(1+x)a近似值为1.279171605(小数点后9位),两结果之差绝对值约为0.000000006(小数点后9位),小于要求的精度,所以最小迭代次数为28,最后一次计算的(1+x)a的值为1.27917161(小数点后保留8位有效数字);同样,输入x为0.47683,a为-0.5,e为0.00000001(小数点后8位),当n为23时,根据Taylor展开式求得(1+x)a近似值为0.822876669(小数点后9位),n为24时,根据Taylor展开式求得(1+x)a近似值为0.822876664(小数点后9位),两结果之差绝对值约为0.000000005(小数点后9位),小于要求的精度,所以最小迭代次数为23,最后一次计算的(1+x)a的值为0.82287667(小数点后保留8位有效数字)注意:为保证数据的准确性和一致性,请使用double数据类型保存计算结果。【评分标准】该题要求输出上述公式的计算结果,共有5个测试点。上传C语言文件名为taylor.c。难度等级:
2
总通过次数:
1
总提交次数:
1

我要回帖

更多关于 求近似值的公式 的文章

 

随机推荐