新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我给你介绍一个公式吧:(泰勒工式展开式)
成都创新互联公司是一家专业提供郊区企业网站建设,专注与成都网站建设、成都网站制作、成都h5网站建设、小程序制作等业务。10年已为郊区众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
e=1+ 1 + 1/2! +1/3! +1/4! +1/5! + ...+ 1/n!
其中,n!表示n的阶乘:n!=n*(n-1)*(n-2)*...*3*2*1;可以专门设计一个子函数求 n! ;(n越大,精确度越高)
下面是代码:
//网页上直接写的,在VC++6.0运行时如果编译出错,那就改一下分
//号和逗号
#includestdio.h
#define N 20
int jiecheng(int n)
{
int i=n;
int result=1;
while(i)//
{
result*=i;
i--;
}
return result;
}
void main()
{
int i;
double e=2;
for(i=2;iN;i++)
{
e+=1/(jiecheng(i)*1.0)
}
printf("e=%lf\n",e);
}
代码如下
:
运行过了
输出e=2.718282
不知是否满意
望采纳
#include
void
main(){
long
fun(int
n);
int
i;
double
e=0;
double
eps=1e-6;//eps表示精度
此处指10的-6次方
for(i=0;1.0/fun(i)eps;i++)
{
e+=1.0/fun(i);
}
printf("e=%lf\n",e);
}
long
fun(int
n)//求n!的函数
{
if(n==0)
return
1;
else
return
n*fun(n-1);
}
用c语言程序,求e,用递归函数,最易于实现的计算方法应该是使用e的极限近似计算,以下以n=1000近似计算之:
n=1000时的近似结果
#includestdio.h
#define n 1000
void calc_e(e)
double *e;
{
if(e[0]*=1.0+1.0/e[1],--e[2]=0)
return;
else calc_e(e);
}
int main(void){
double box[3]={1.0,n,n};
calc_e(box);
printf("%lf\n",box[0]);
return 0;
}
n=10000时的近似结果