1
1
2
2
3
6
提示,取模运算对加法运算满足交换律和结合律,所以在计算过程中多次取模得到的计算结果,和全部计算都完成后得到的计算结果是相同的。
int factorialOfN(int n ) { if(n<=1) return 1; else { return (long long)n*factorialOfN(n-1)%1000000007; } }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 计算 n 的阶乘 # @param n int整型 # @return int整型 # class Solution: def factorialOfN(self , n: int) -> int: # write code here # 用于防止整数溢出和提高计算效率 MOD = 10**9 + 7 if n == 0&nbs***bsp;n == 1: return 1 i = n total = 1 while i>1: total = (total * i)% MOD i -= 1 return total if __name__ == "__main__": n = int(input()) Solution().factorialOfN(n)