用c语言编写e=1+1⼀1!+1⼀2!+1⼀3!......1⼀n!,计算e的值。要求:1用for

2024-12-05 01:17:13
推荐回答(1个)
回答1:

似乎有些难....因为要算到前50项...需要打高精度(阶乘太大已经爆了long long)我的程序只能算一定范围内的...

#include

using namespace std;

int n;
double ans=0;

int main(){
int i;
long long p=1;
scanf("%d",&n); //输入此正要到多少项余扒蚂 
for(int i=1;i<=n;i++){
p=p*i; //p表示 i!因为每次都乘上 i,所以每次乘起来最后就是i! 
ans+=(double)1/p; //将算的 1/i!累加起来竖埋 
}
printf("%.10lf",ans); //保留10位小数输出 
return 0;
}