用java实现求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字。
时间: 2023-07-08 12:29:36 浏览: 104
好的,以下是对应的 Java 代码:
```java
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数 n:");
int n = scanner.nextInt();
scanner.close();
BigInteger sum = BigInteger.ZERO;
BigInteger factor = BigInteger.ONE;
for (int i = 1; i <= n; i++) {
factor = factor.multiply(BigInteger.valueOf(i));
sum = sum.add(factor);
}
System.out.println("Sn = " + sum);
}
}
```
这段代码使用了 `Scanner` 类来读取用户的输入,首先提示用户输入一个整数 n,然后通过 `nextInt` 方法读取这个整数。接下来使用 `BigInteger` 类来处理阶乘和求和的过程,因为这个过程中可能会出现非常大的数,超过了 `int` 或 `long` 的表示范围。我们使用 `BigInteger.ZERO` 和 `BigInteger.ONE` 来初始化求和变量 `sum` 和阶乘变量 `factor`。接下来使用一个 `for` 循环来计算 Sn 的值,对于每个 i,我们将 `factor` 乘上 i 得到 i!,然后将其加到 `sum` 上,最终得到 Sn 的值。运行程序后,用户可以输入一个整数 n,然后程序会输出 Sn 的值。
阅读全文