利用e≈1+1/1!+1/2!+1/3!+...+1/n!,编程计算e的近似值,直到最后一项的绝对值小于10的-4次方为止。输出e的值并统计累加的项数。
时间: 2023-11-18 17:03:26 浏览: 106
C语言程序设计-计算公式t=1-1/2-1/3……-1/m的值。例如:若输入5,则应输出-0.283333。
5星 · 资源好评率100%
利用公式e=1+1/1!+1/2!+1/3!+1/4!+…+1/n!,编程计算e的近似值,直到最后一项的绝对值小于10的-4次方为止。输出e的值并统计累加的项数。
Java代码实现:
```
public class Practice {
public static long factorial(int n){//递归实现阶乘
if(n==0||n==1){
return 1;
}else{
return n*factorial(n-1);
}
}
public static double caleE(){
double e=1;
double item=1;
int n=1;
while(item>=1e-4){
item=1.0/factorial(n);
e+=item;
n++;
}
System.out.println("累加的项数为:"+(n-1));
return e;
}
public static void main(String[] args) {
double res=caleE();
System.out.println("e的值为:"+res);
}
}
```
C语言代码实现:
```
#include <stdio.h>
int main()
{
int n=1;
double e=1,item=1;
while(item>=1e-4){
item=1.0;
for(int i=1;i<=n;i++){
item/=i;
}
e+=item;
n++;
}
printf("累加的项数为:%d\n",n-1);
printf("e的值为:%lf\n",e);
return 0;
}
```
阅读全文