import math
dic = {}
rec = []
def iszhishu(x):
    if x==2:
        return True
    for i in range(2,int(math.sqrt(x))+1):
        if x%i==0:
            return False
    return True

for i in range(2,n+1):
    if iszhishu(i):
        dic[i]=1
        rec.append(i)
    else:
        for j in rec:
            if i%j==0:
                dic[i]=dic[i//j]+1
ans = 0
for i in range(2,n+1):
    ans += dic[i]
print(ans)
我AC的代码