这题目有点奇怪:计算精度到10^-4为止,输出却要到12位小数(要那么多位不准确的数?)
#include<stdio.h>int main()
{int i,t=1
double e=0
for(i=1t<10000i++)
{e+=1.0/t
t*=i
}
printf("%.12lf\n",e)
return 0
}
如何用matlab函数求e近似值?利用e^x的幂级数展开式,再使用for循环语句进行累加计算,可以得到,e的近似值。实现方法为:
Ex=1
err=1e-5%计算精度
for n=1:100
Ex1=Ex+1/factorial(n)
if abs(Ex1-Ex)<err
disp('e的精确值')
exp(1)
disp('e的近似值')
e=Ex
return
end
Ex=Ex1
end
运行上述代码,可以得到e的近似值(误差小于1e-5)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)