c++编程:定义函数fact(n),返回值是n的阶乘, 调用函数fact计算1 + 1⼀2! +....+ 1⼀n!

2024-11-30 12:54:22
推荐回答(4个)
回答1:


#include
int fact(int n)
{
 if(n <= 1)
  return 1;
 return fact(n-1)*n;
}
int main()

 int i;
 int n;
 float sum = 0.0;
 scanf("%d", &n);
 for(i = 1; i <= n; ++i)
 {
  sum += 1.0f/fact(i);
 }
 printf("%f\n", sum);
 
 return 0;
}

回答2:

float fact(n)

float fact(int n)
{
    if(n <= 0)
    {
        return 0;
    }
    
    float sum = 0;
    int factnum = 1;
    for(int i = 1; i <= n; i++)
    {
        factnum *= i;
        sum = sum + 1/factnum;
    }
    
    return sum;
}

回答3:

double fact(int n){
int t=1,i;
double sum=0;
for(i=1;i<=n;i++){
t*=i;
sum+=1/t;
}
return sum;
}

回答4:

double approxE(int n){
int i;
double e=0;
for(i=0;i e+=1/fact(i);
return e;
}