Java中用while循环计算1+1/2!+1/3!+...+1/20!
时间: 2024-01-29 10:03:52 浏览: 30
以下是两种Java中用while循环计算1+1/2!+1/3!+...+1/20!的例子:
1. 使用单个变量计算阶乘:
```java
public static void main(String[] args) {
double n = 1, j = 1, sum = 0;
while(n <= 20){
j = j * n;
sum += 1 / j;
n++;
}
System.out.println(sum);
}
```
2. 使用递归函数计算阶乘:
```java
public static void main(String[] args) {
double n = 1, sum = 0;
while (n <= 20) {
sum += 1 / Factorial(n);
n++;
}
System.out.println(sum);
}
static double Factorial(double m) {
if (m == 1 || m == 0) {
return 1;
} else {
return (m * Factorial(m - 1));
}
}
```
相关问题
Java中用for循环计算1+1/2!+1/3!+...+1/20!之和。
以下是两种Java中用for循环计算1+1/2!+1/3!+...+1/20!之和的例子:
1.使用while循环和变量计算阶乘和累加和
```java
public static void main(String[] args) {
double n = 1, j = 1, sum = 0;
while(n <= 20){
j = j*n;
sum += 1/j;
n++;
}
System.out.println(sum);
}
```
2.使用while循环和递归函数计算阶乘和累加和
```java
public static void main(String[] args) {
double n = 1, sum = 0;
while (n <= 20) {
sum += 1 / Factorial(n);
n++;
}
System.out.println(sum);
}
static double Factorial(double m) {
if (m == 1 || m == 0) {
return 1;
} else {
return (m * Factorial(m - 1));
}
}
```
在C语言中用while语句计算e≈1+1/1!+1/2!+…+1/n!
以下是在C语言中用while语句计算e≈1+1/1!+1/2!+…+1/n!的代码:
```c
#include <stdio.h>
int main() {
int n, i = 1;
double s = 1, t = 1;
printf("请输入一个正整数(赋给n):");
scanf("%d", &n);
while (i <= n) {
t *= i; // 计算i的阶乘
s += 1.0 / t; // 累加每一项
i++; // 每次循环后加1
}
printf("%f\n", s);
return 0;
}
```