Дано натуральное число N. Требуется найти число способов представить его в виде произведения попарно различных множителей больших 1.
Формат входных данных
В первой строке содержится одно натуральное число 2<=N<=10**12.
Формат выходных данных
Вывести одно число - количество способов представить число N в виде произведения попарно различных множителей больших 1.
Пояснение к примеру. Имеется 7 различных способов представить число 48 в виде произведения (в том числе и вырожденного) попарно различных множителей больших 1: 48, 2*24, 3*16, 4*12, 6*8, 2*3*8, 2*4*6.
Sample Input:
48
Sample Output:
7

9 Окт 2020 в 19:42
781 +1
1
Ответы
1
def count_ways(n):
count = 0
divisor = 2
while divisor * divisor <= n:
if n % divisor == 0:
count += 1
while n % divisor == 0:
n //= divisor
divisor += 1
if n > 1:
count += 1
return count
N = int(input())
print(count_ways(N))
17 Апр 2024 в 23:00
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир