Алгоритм вычисления значений функций и
, где n — целое неотрицательное число меньшее 1000, задан следующими соотношениями: («//» — целочисленное деление)
При каких (каком) значениях (значении) n, выражение:
, меньше
. В качестве ответа укажите сумму таких значений
.
(Например: ,
. В ответ указываем сумму
и
).
Решение программой:
def f(n):
if n < 5:
return 1
if n % 5 == 0:
return f(n // 5)
return n - 5 * (n // 5) + f(n - 5 * (n // 5))
def g(n):
if n < 7:
return 1
if n % 7 == 0:
return g(n // 7)
return n - 7 * (n // 7) + g(n - 7 * (n // 7))
ans = 0
for n in range(1000):
if g(n) + f(n) < 3:
ans += n
print(ans)
Ответ: 15