5个回答
展开全部
/*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项阶乘倒数之和
}
#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项阶乘倒数之和
}
展开全部
#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);
}
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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double f(int n)
{
double i=1,s=0;
int t=1;
while(t<=n && i>0)
{
i/=t;
s+=i;
t++;
}
return s;
}
{
double i=1,s=0;
int t=1;
while(t<=n && i>0)
{
i/=t;
s+=i;
t++;
}
return s;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double sum=1.0f;
for(int i=n;i>1;i--,sum+=r)for(int j=i,r=1;j>1;)r/=j--;
for(int i=n;i>1;i--,sum+=r)for(int j=i,r=1;j>1;)r/=j--;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询