197. 阶乘分解 - AcWing题库
def init(n):
for i in range(2,n+1):
if not st[i]:primes.append(i)
j=0
while primes[j]*i<=n:
st[i*primes[j]]=1
if i%primes[j]==0:
break
j+=1
n=int(input())
primes=[]st=[0 for i in range(n+1)]
init(n)
for i in range(len(primes)):
p=primes[i]
s=0
j=n
while j:
s+=j//p
j//=p
print(f"{p} {s}")