Помогите ускорить программу
Делители факториала По заданному натуральному числу 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 шт):
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)
Я не ускорил твой код, но написал свой, надеюсь он вписывается по времени.