用c语言编写e=1+1/1!+1/2!+1/3!......1/n!,计算e的值。要求:1用for
用c语言编写e=1+1/1!+1/2!+1/3!......1/n!,计算e的值。要求:1用for循环计算到公式的前50项。详细一点解释,不要复制,谢谢...
用c语言编写e=1+1/1!+1/2!+1/3!......1/n!,计算e的值。要求:1用for循环计算到公式的前50项。详细一点解释,不要复制,谢谢
展开
1个回答
展开全部
似乎有些难....因为要算到前50项...需要打高精度(阶乘太大已经爆了long long)我的程序只能算一定范围内的...
#include<cstdio>
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询