Помогите ускорить программу

Делители факториала По заданному натуральному числу N необходимо вычислить количество натуральных чисел, которые есть делителями N! (факториала числа N).

Например, при N=4, N!=4⋅3⋅2⋅1=24. Это число имеет следующие делители: 1,2,3,4,6,8,12,24. Таким образом, искомое количество составляет 8.

Напишите программу, которая по натуральному N, находит количество делителей его факториала.

Формат входных данных

Единственная строка входного файла содержит одно целое число N(1≤N≤45).

Формат выходных данных

Единственная строка выходного файла должна содержать одно целое число — найденное количество делителей числа N! Примеры: Ввод 4 Вывод 8 Пишет, что программа выполняется слишком долго. Bот мой код:

x = int(input())
n = 1
while x > 0:
    n *= x
    x -= 1
a = []
k = 1
s = 0
while k * k <= n:
    if n % k == 0:
        a.append(k)
        if n // k != k:
            a.append(n // k)
    k += 1
print(len(a))

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

Автор решения: Egr
n=int(input())
x=1
for i in range(n):
    x=x*i
a=[]
z=0
for j in range(x):
    if x%j==0:
        a[z]=j
        z+=1
print(*a)

Я не ускорил твой код, но написал свой, надеюсь он вписывается по времени.

→ Ссылка