``` Java
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long sum = 0;
for(int i = 1;i <= n;i++) {
// 递归实现
sum+=fun(i);
}
System.out.println(sum);
}
// 求阶乘函数
private static long fun(long n) {
if(n == 1)
return 1;
return fun(n - 1) * n;
}
/*******************************
* 循环实现
*******************************/
private static void fun1(){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long sum = 0;
for (int i = 1; i <= n; i++) {
long tmp = 1;
// 求阶乘
for (int j = 1; j <= i ; j++) {
tmp *= j;
}
// 累加
sum += tmp;
}
System.out.println(sum);
}
```
0.0分
0 人评分