4064: 练4.15 阶乘之和
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
输入n,计算S=1! + 2! + 3! + … + n!的末6位(不含前导0)。n≤106, n!表示前n个正整数之积。
输入
输入n。
输出
如题述,求阶乘之和。
样例输入 复制
10
样例输出 复制
37913
提示
n=int(input())
s=0
for i in range(1,n+1):
fac=1
for j in range(1,i+1):
fac*=j
#fac是i!
s+=fac
print(s%1000000)
'''
注意累乘器factorial(英文“阶乘”的意思)定义在循环里面。换句话说,每执行一次循环体,都要重新声明一次factorial;并初始化为1(想一想,为什么不0)。
因为只要末6位,所以输出时对10^6取模。
'''