用Java语言编写一段程序:从键盘输入一个正整数n(n<=50),计算1!+2!+3!+…+n!的结果。本题不得采用大数类如BigInteger等,必须用数组完成计算。
时间: 2023-09-30 18:05:27 浏览: 137
以下是使用Java语言编写的计算1!+2!+3!+…+n!的程序:
```
import java.util.Scanner;
public class FactorialSum {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个正整数n(n<=50):");
int n = input.nextInt();
input.close();
int[] factorial = new int[n + 1]; // 阶乘数组
factorial[0] = 1;
for (int i = 1; i <= n; i++) {
factorial[i] = factorial[i - 1] * i; // 计算阶乘
}
int sum = 0; // 阶乘和
for (int i = 1; i <= n; i++) {
sum += factorial[i]; // 累加阶乘
}
System.out.println("1!+2!+3!+...+" + n + "! = " + sum);
}
}
```
程序中首先从键盘输入一个正整数n,然后定义一个长度为n+1的数组,用于存储1到n的阶乘值。接着,使用循环计算1到n的阶乘,并将结果保存在数组中。最后,再使用循环累加数组中的阶乘值,得到最终的阶乘和。最终输出1!+2!+3!+…+n!的结果。
注意:由于n的取值范围较小,因此使用int类型即可,不需要使用BigInteger等大数类。
阅读全文