对应的源代码可以在我的 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;}
}