使用 Java 计算 1 到 20 的阶乘之和
在编程中,计算阶乘是一个常见的问题。阶乘(Factorial)通常表示为 n!,定义为所有小于及等于该数的正整数的乘积。
1. 阶乘的基本概念
阶乘在数学中有着广泛的应用,尤其是在组合数学、概率论等领域。计算阶乘的一个简单方法是使用循环或递归。然而,对于较大的数,递归可能会导致栈溢出,因此推荐使用循环来实现。
2. Java 代码实现
2.1 基础实现
首先,我们需要一个函数来计算单个数的阶乘,并累加求和。
public class FactorialSum {
public static void main(String[] args) {
long sum = 0;
for (int i = 1; i <= 20; i++) {
sum += factorial(i);
}
System.out.println("1 + 2! + ... + 20! 的和为:" + sum);
}
public static long factorial(int n) {
if (n == 0 || n == 1) return 1;
long result = 1;
for (int i = 2; i <= n; i++) result *= i;
return result;
}
}
2.2 性能优化
为了提高性能,可以使用动态规划的思想,避免重复计算阶乘。在循环中直接维护当前阶乘值。

