设为首页 加入收藏

TOP

问题八: f=1!-1/2!+1/3!-1/4!+...+1/n!(n为一定大的数,太大了会溢出)
2014-11-23 22:37:14 来源: 作者: 【 】 浏览:1
Tags:问题 -1/2 1/3 -1/4 ... 1/n 一定 溢出

/***************************************************************
累加(C语言

AUTHOR:liuyongshui
DATE:********
***************************************************************/
/*
问题八: f=1!-1/2!+1/3!-1/4!+...+1/n!(n为一定大的数,太大了会溢出)

*/

#include

void f(int m); //原函数声明

int main()
{
int n;

printf("请输入一个数(不能太大):");
scanf("%d", &n);

f(n); //把n带入f()函数

return 0;
}

// f()函数定义
void f(int m)
{
int i;
int j;
int s=1;
int k=1;
double sum=0.0;

for(i=1; i<=m; i++)
{
for(j=1; j<=i; j++)
{
s*=j; //计算i!
}

sum+=1.0/s*k; //sum=sum+1.0/s;
k=-1*k; //改变k的符号
s=1; //算完i!后,s赋值为1
}

printf("%lf\n", sum); //输出结果
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇问题七: f=1!+1/2!+1/3!+1/4!+..... 下一篇问题十:用递归算法设计函数,求1*..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: