(C++, очень срочно) Последовательное произведение
В этой задаче вам требуется определить: сколько существует различных непрерывных подпоследовательностей ряда натуральных чисел, которые в произведении дают заданное число n.
Формат входных данных
Единственная строка входных данных содержит натуральное число n(1 ⩽ n ⩽ 109).
Формат выходных данных
Выведите одно натуральное число — ответ на задачу.
Система оценки и описание подзадач
Баллы за каждый тест начисляются независимо.
Пояснение к примеру
В примере нужно найти количество непрерывных подпоследовательностей ряда натуральных чисел, дающих в произведении число 120. Перечислим их:
1) 1⋅2⋅3⋅4⋅5=120
2) 2⋅3⋅4⋅5=120
3) 4⋅5⋅6=120
4) 120=120
Всего 4 подпоследовательности.
Ввод: 120
Вывод: 4
Answers & Comments
Ответ:
Только питон, извини
n = int(input())
c = 1
ans = 0
for i in range(1, n+1):
~~~~for j in range(i, n+1):
~~~~~~~~c*=j
~~~~~~~~if c == n:
~~~~~~~~~~~~ans+=1
~~~~~~~~~~~~break
~~~~c = 1
print(ans)
ans = 0
i = 1
while num != 1 and i <= int(num ** (1/2)):
current = 1
while num % i != 0:
i += 1
j = i
while num % current == 0 and current < num:
current *= j
j += 1
if current == num:
ans += 1
i += 1
ans += 1
print(ans)
ans = 0
i = 1
while num != 1 and i <= int(num ** (1/2)):
~~~~current = 1
~~~~while num % i != 0:
~~~~~~~~i += 1
~~~~j = i
~~~~while num % current == 0 and current < num:
~~~~~~~~current *= j
~~~~~~~~j += 1
~~~~if current == num:
~~~~~~~~ans += 1
~~~~i += 1
ans += 1
print(ans)