Держи
def count_divisors(n):
"""Функция для подсчета количества делителей числа n."""
if n < 1:
return 0
count = 0
for i in range(1, int(n**0.5) + 1):
if n % i == 0:
count += 1 # Делитель i
if i != n // i:
count += 1 # Делитель n // i
return count
def count_possible_durations(t, d):
"""Функция для подсчета возможных длительностей трека."""
count = 0
for duration in range(max(1, t - d), t + d + 1):
if count_divisors(duration) <= 3:
count += 1
return count
# Примеры использования
t1, d1 = 4, 6
print(count_possible_durations(t1, d1)) # Вывод: 7
t2, d2 = 180, 30
print(count_possible_durations(t2, d2)) # Вывод: 12
В оригинале песня длится t секунд. Можно изменить её не более чем на d
секунд, при это длительность песни должна являться натуральным числом. И главное, поскольку это число должно быть красивым, то длительность также должна иметь не более трёх делителей.
Посчитайте количество способов выбрать длительность трека, с учётом двух перечисленных выше условий.
Выведите одно целое число - количество способов выбрать длительность трека.
Пример 1
Входные данные
4 6
Выходные данные
7
Пример 2
Входные данные
180 30
Выходные данные
12