用java计算20的阶乘,即20!=1乘2乘3到乘20的值
时间: 2024-03-26 21:38:50 浏览: 19
可以使用 Java 的 BigInteger 类来计算20的阶乘,因为20的阶乘已经超出了 long 类型的取值范围。
以下是示例代码:
```java
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
BigInteger result = BigInteger.ONE;
for (int i = 2; i <= 20; i++) {
result = result.multiply(BigInteger.valueOf(i));
}
System.out.println(result);
}
}
```
输出结果为:
```
2432902008176640000
```
相关问题
用java的do...while循环计算1 !+2!+3! +…+100!的总和
使用Java的do...while循环计算1!+2!+3!+...+100!的总和可以按照以下步骤进行:
1. 首先,定义一个变量`sum`用于保存总和的结果,并初始化为0。
2. 使用do...while循环来计算每个数的阶乘并累加到`sum`中。
3. 在循环内部,定义一个变量`factorial`用于保存当前数的阶乘结果,并初始化为1。
4. 使用一个内部循环来计算当前数的阶乘,从1乘到当前数。
5. 将每次计算得到的阶乘结果累加到`sum`中。
6. 在内部循环结束后,将当前数加1。
7. 循环继续执行,直到当前数大于100。
8. 最后,输出`sum`的值作为结果。
下面是Java代码的示例:
```java
public class FactorialSum {
public static void main(String[] args) {
int num = 1;
int sum = 0;
do {
int factorial = 1;
int i = 1;
while (i <= num) {
factorial *= i;
i++;
}
sum += factorial;
num++;
} while (num <= 100);
System.out.println("1! + 2! + 3! + ... + 100! = " + sum);
}
}
```
java 求1+2!+3!+...+10!的和
题目要求求1+2!+3!+...+10!的和,其中每一项的阶乘需要依次计算。可以使用循环结构来实现这个过程,具体步骤如下:
1. 定义一个变量sum,用于存储每一项的和,初始值为0。
2. 使用for循环,从1到10遍历每一项。
3. 在循环中,定义一个变量factorial,用于存储当前项的阶乘,初始值为1。
4. 使用for循环,从1到当前项的值遍历每一个数,将每一个数乘到factorial中。
5. 将当前项的阶乘加到sum中。
6. 循环结束后,sum中存储的就是1+2!+3!+...+10!的和。
下面是Java代码实现:
```
int sum = 0;
for (int i = 1; i <= 10; i++) {
int factorial = 1;
for (int j = 1; j <= i; j++) {
factorial *= j;
}
sum += factorial;
}
System.out.println("1+2!+3!+...+10!的和为:" + sum);
```