给定正整数n,求不大于n的正整数的阶乘的和(即求1!+2!+3!+...+n!) 输入 输入有一行,包含一个正整数n(1 < n < 12)。 输出 输出有一行:阶乘的和。Java
时间: 2024-09-23 14:01:13 浏览: 41
计算 S=1!+2!+3!+...+N! C语言代码
这是一个经典的数学计算问题,需要通过程序来解决。在Java中,我们可以使用循环和累加的方式来计算1到n所有正整数的阶乘之和。以下是简单的Java代码实现:
```java
import java.util.Scanner;
public class FactorialSum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 获取用户输入的正整数n
long sum = 0; // 初始化阶乘和为0
for (int i = 1; i <= n; i++) {
sum += factorial(i); // 累加每个数字的阶乘
}
System.out.println("阶乘的和为:" + sum);
}
// 计算阶乘的方法
private static long factorial(int num) {
if (num == 0 || num == 1) { // 0和1的阶乘为1
return 1;
} else {
return num * factorial(num - 1); // 递归计算阶乘
}
}
}
```
当你运行这个程序并输入一个正整数n,它将计算从1到n的所有阶乘相加的结果。
阅读全文