Алгоритм вычисления функции \(F(a, \, b),\) где \(a\) и \(b\) – неотрицательные целые числа, задан следующими соотношениями:
Найдите количество таких чисел \(a,\) для которых можно найти число \(b,\) такое что \(F(a, \, b) = 18522000.\)
Решение:
Python
def F(a, b):
if a == b == 0:
return 0
elif a > b:
return F(a - 1, b) + b
return F(a, b - 1) + a
# print(F(5, 6))
def factor(n):
divs = []
for i in range(2, int(n ** 0.5) + 1):
while n % i == 0:
divs.append(i)
n //= i
if n > 1:
divs.append(n)
return divs
divs = factor(18522000)
ds = set(divs)
q = 1
for d in ds:
q *= divs.count(d) + 1
print(q)
Ответ: \(320\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене