Java语言实现
import java.util.Scanner;
public class Factorial_1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//【 多阶乘计算】
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int k=sc.nextInt();
int m=sc.nextInt();
sc.close();
fun(k,n,m);
}
public static long sum=0; //存储第二次总和
public static long c=0; //存储第一层总和
public static long b=0; //存储sum各位数之和
//方法
public static void fun(int k,int n,int m) {
sum=n;
while(k>0) {
//计算第二层总和
for(int i=1;i<=n;i++) {
if(n-i*k>0) {
sum *= (n-i*k); //计算第一层总和
}
}
k--; //控制第一层循环次数
c+=sum; //求和
sum=n; //重新赋值
}
//判断m
if(m==1) {
System.out.println(c);
}else if(m==2) {
//计算sum各位数之和
StringBuilder builder=new StringBuilder(c+"");
for(int j=0;j<builder.length();j++) {
b+=builder.charAt(j)-48;
}
System.out.println(b);
}
}
}