e=1/1!+1/2!+1/3!……1/n!(n!=1*2*3*4...*n)根据输入n的得值求e的近似...
发布网友
发布时间:2024-03-29 05:52
我来回答
共4个回答
热心网友
时间:2024-08-11 09:57
给你一个fortran的计算程序。
program main
double precision e
integer i,n
double eps
e=0.0
i=1
n=1
eps=1.0e-9 !精度
while((1.0/n)>eps)
i=i+1
n=n*i
e=e+1.0/n
end
print(*,*)e
end program main
热心网友
时间:2024-08-11 09:52
C程序:
#include<stdio.h>
#include<stdlib.h>
int main()
{
double e;
double m;
int i,n;
printf("Input n:");
scanf("%d",&n);
e=1.0L;
m=1.0L;
for(i=1;i<=n;++i)
{
m*=(double)i;
e+=1.0L/m;
}
printf("e=%g\n",e);
system("PAUSE");
return 0;
}
顺便说一下 e=1+1/1!+1/2!+.....
INPUT "n=";n
e=1
m=1
i=1
WHILE i<=n DO
m=m*i
e=e+1/m
i=i+1
WEND
PRINT "e=";e
热心网友
时间:2024-08-11 09:56
你是山东的吧,我记得我高中学数学三时是要求写算法不是写程序的,还请楼主明示
热心网友
时间:2024-08-11 09:56
按你的问题定义写的,但是n要太大的话有问题,小数位显示不到那么多:
#include<stdio.h>
int main()
{
float e=0;
int i,j,n;
long m=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
m*=j;
}
e+=1.0/m;
}
printf("%f",e);
}