在C语言中如何表达每个阶层的倒数相加

1+1/(2!)+1/(3!)+...+1/(n!)?... 1+1/(2!)+1/(3!)+...+1/(n!)? 展开
 我来答
崇镶波0c5
2010-11-10 · TA获得超过434个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:113万
展开全部
/*factorial*/
#include<stdio.h>
float Factorial(int n);//求阶乘的函数
float Sum(int n);//求阶乘前n项倒数和的函数
int main()
{
int i;
int num;
scanf("%d",&num);
for( i=1;i<num+1;++i)
{
printf("1/%d! = ",i);//输出 “n!”
printf("%f\n",1/Factorial(i));//输出n!的值
}
for(i=1;i<num;++i)
printf("1/%d!+",i);//输出1!+1/2!+…+1/(n-1)!+
printf("%d!=%f\n", i,Sum(i) );//输出1/n!=前n项的阶乘倒数和
return 0;
}
float Factorial(int n)
{
if(n==0||n==1)
return 1;//0!=1||1!=1
else return n*Factorial(n-1);//其他的阶乘n!=n*(n-1)*…1
}
float Sum(int n)
{
float N=1/Factorial(n);//用N代表数n的阶乘的倒数
if(N==1) return 1;//如果N=1则说明只有一项即n=1
else return N+Sum(n-1);//其他的情况返回前n项阶乘倒数之和
}
CT知道
推荐于2017-09-22 · TA获得超过1502个赞
知道大有可为答主
回答量:400
采纳率:0%
帮助的人:324万
展开全部
#include<stdio.h>
void main()
{
int i,j;
long double t=1.0,sum;
double x;
for(i=1;i<=20;i++)
t=t*i; //20的阶乘
sum=1.0/t; //20的阶乘的倒数
for(j=20;j>1;j--)
{
t=t/j; //分别是19 18 17 ……1的阶乘
x=1.0/t; //分别是19 18 17 ……1的阶乘的倒数
sum=sum+x; //和
}
printf("sum=%f\n",sum);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
techird
2010-11-10 · TA获得超过153个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:102万
展开全部
double f(int n)
{
double i=1,s=0;
int t=1;
while(t<=n && i>0)
{
i/=t;
s+=i;
t++;
}
return s;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xeonol
2010-11-10 · TA获得超过870个赞
知道小有建树答主
回答量:528
采纳率:0%
帮助的人:697万
展开全部
double sum=1.0f;
for(int i=n;i>1;i--,sum+=r)for(int j=i,r=1;j>1;)r/=j--;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
脱樱赛梓柔
2019-08-12 · TA获得超过3655个赞
知道小有建树答主
回答量:3105
采纳率:32%
帮助的人:187万
展开全部
#include<stdio.h>
void
main()
{
int
i,j;
long
double
t=1.0,sum;
double
x;
for(i=1;i<=20;i++)
t=t*i;
//20的阶乘
sum=1.0/t;
//20的阶乘的倒数
for(j=20;j>1;j--)
{
t=t/j;
//分别是19
18
17
……1的阶乘
x=1.0/t;
//分别是19
18
17
……1的阶乘的倒数
sum=sum+x;
//和
}
printf("sum=%f\n",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式