题目2:利用公式e=1+1/1! +1/2! +1/3! +...+1/n!,求出e的近似值,其中n由用户输入。
时间: 2023-11-26 14:02:37 浏览: 76
以下是两种不同编程语言实现题目2的方法:
1.Java实现:
```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 long factorial2(int n) {//迭代实现阶乘
int res=1;
for(int i=1;i<=n;i++){
res*=i;
}
return res;
}
public static double caleE(int n){
double e=0; for(int i=0;i<n;i++){
e+=(1.0/factorial2(i));
}
return e;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入n的值:");
int n = sc.nextInt();
double res=caleE(n);
System.out.println("e的近似值为:"+res);
}
}
```
2.C实现:
```c
#include <stdio.h>
int main()
{
int n,i;
double sum=1,t=1;
printf("请输入n的值:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
t=t*i;
sum= sum+1/t;
}
printf("e的近似值为:%lf",sum);
return 0;
}
```
阅读全文