Не могу придумать, как оптимизировать программу по поиску делителей факториала числа

#кол-во делителей факториала
from math import factorial, comb
import numpy as np
import itertools
def factorization(n):
    res = []
    i = 2
    while i*i <= n:
        if n % i == 0:
            res.append(i)
            n//=i
        else:
            i+=1
    if n > 1:
        res.append(n)
    return res
n = int(input())
lst = factorization(factorial(n))
s = set()
for i in range(1,len(lst)+1):
    for x in itertools.combinations(lst, i):
        s.add(np.prod(x)) #тут я очень неоригинально перемножаю кучу кортежей, тратя много времени 
print(len(s)+1)

Ответы (0 шт):