对应的源代码可以在我的 Gitee 仓库中找到,欢迎star~ [Gitee 仓库](https://gitee.com/yukongji/java-basic-algorithm)
任务描述:
求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n<=10)。
解决思路:
-
输入:
- 读取用户输入的
n
值。 - 检查
n
是否在有效范围内 (1 ≤ n ≤ 10)。
- 读取用户输入的
-
计算阶乘和:
- 初始化变量
sum
为0
,用于累加阶乘和。 - 初始化变量
factorial
为1
,用于计算当前项的阶乘。 - 对于每一个
i
从1
到n
,计算i!
并累加到sum
中。
- 初始化变量
-
输出结果:
- 输出最终的阶乘和
Sn
。
- 输出最终的阶乘和
代码示例:
package cn.sakurapaid.javaBasicAlgorithm.a1_2024_08;
import java.util.Scanner;
/**
* 乘阶求和
*/
public class August240818_3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("输入n的值(n<=10): ");
int n = scanner.nextInt();
if (n <= 0 || n > 10) {
System.out.println("请输入一个1到10之间的整数。");
return;
}
long result = calculateFactorialSum(n);
System.out.println("Sn=" + result);
}
private static long calculateFactorialSum(int n) {
long sum = 0;
long factorial = 1; // 阶乘的临时变量
for (int i = 1; i <= n; i++) {
factorial *= i; // 计算i的阶乘
sum += factorial; // 将i的阶乘累加到总和中
}
return sum;
}
}