1、问题
求1!+2!+3!+4!+…+n!的和
2、阶乘如何计算?
1的阶乘为1,2的阶乘等于21,3的阶乘等于321,那么n!=n(n-1)(n-2)…*1
3、阶乘和: 求出每一个数的阶乘再进行相加
4、代码实现:
package demomethod03;
import java.util.Scanner;
/**
* 求阶乘和
* 求1!+2!+3!+4!+........+n!的和
*
*
*
*/
public class FabNum {
public static void main(String[] args) {
System.out.println("请输入n:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int ret = fibSum(n);
System.out.println("阶乘和为"+ret);
}
//产生阶乘和
private static int fibSum(int n) {
int sum = 0;
for (int i=1; i <= n; i++) {
sum += fib(i);
}
return sum;
}
//产生每一个数字的阶乘
private static int fib(int i) {
int temp =1;
for (int j = 1; j <= i; j++) {
temp = temp * j;
}
return temp;
}
}
5、运行结果