题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
定义阶乘n!=1×2×3×⋅⋅⋅×n。
请问 100!(100 的阶乘)有多少个正约数。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
解题关键:约数个数定理
a=[0]*101#存储质因数幂次
def pd(m):#判断是否为质数
if m==1:return False
for i in range(2,int(m**0.5)+1):
if m%i==0:return False
return True
#每个质因数的幂次
for i in range(1,101):
t=i
for j in range(1,i+1):
if t%j==0:#判断j是否为i的因数
if pd(j):#判断j是否为质数
cs=0#存储幂次
while t%j==0:#取因数为j的幂次
t//=j
cs+=1
a[j]+=cs#幂次相加
q=1
for i in range(1,101):#每个质因数幂次+1之积=约数个数
a[i]+=1
q*=a[i]
print(q)