用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
推荐于2017-09-23 · TA获得超过536个赞
知道小有建树答主
回答量:459
采纳率:0%
帮助的人:396万
展开全部

似乎有些难....因为要算到前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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式