编写c++源程序计算e=1+1/1!+1/2!+1/3!+....+1/n!+.....的近似值,要求误差小于0.0000001

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:40:08
必须c++语言,任何其他语言不要

#include<iostream.h>
int f(int n);
int main()
{
double e, t = 1;
int n = 1;
while (1)
{
e = t + 1.0/f(n++);
if ( e-t < 0.0000001)
{
break;
}
t = e;

}
cout<<e<<endl;
return 0;
}

int f(int n)
{
int result = 1;
for(int i=1;i<=n; i++ )
{
result *= i;
}
return result;
}

#include "stdio.h"
double fac(int a)
{
double n;
if(a==0)n=1;
else
if(a==1)n=1;
else
n=fac(a-1)*a;
return(n);
}
main()
{
int i,n;
double s=0,a=1.0,t;
printf("please input a number:");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
t=fac(i);
s+=a/t;
}
printf("e=1+1/1!+1/2!+1/3!+....+1/n!+.....=%20.19f",s);
}

#include<iostream>
using n