算法描述

思路
这里需要知道一个取模公式:(n1+n2+n3+....+n)%MOD = (n1%MOD + n2%MOD+...+n%MOD)%MOD
代码
public static void main(String[] args) {
int MOD = 1000000;
Scanner sc = new Scanner(System.in);
int n =sc.nextInt();
int k=1; //阶乘层数
int sum=0;
for(int i=1; i<=n; ++i){
//求k的阶乘的余数
k=(k*i)%MOD;
sum = (sum+k)%MOD;
}
System.out.println(sum);
}
本文介绍了一种利用取模公式进行阶乘累加的算法实现方法,并提供了具体的Java代码示例。该算法利用了取模公式简化计算过程,有效避免了大数运算中的溢出问题。
2869

被折叠的 条评论
为什么被折叠?



