Предмет: Информатика,
автор: minkovmaxim06
Напишите программу, вычисления рекурсивной функции. Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями:
F(0) = 0
F(n) = F(n/2), при чётном n > 0
F(n) = F(n - 1) + 3, при нечётном n > 0
Сколько существует значений n, принадлежащих отрезку [1; 1000], для которых F(n) равно 18?
Ответом на задачи является программа на языке python.
Ответы
Автор ответа:
0
Код:
def f(n):
if n == 0:
return 0
elif n > 0 and n % 2 == 0:
return f(n/2)
elif n > 0 and n % 2 != 0:
return f(n-1) + 3
counter = 0
for i in range(1, 1001):
if f(i) == 18:
counter += 1
print(counter)
Похожие вопросы
Предмет: Русский язык,
автор: ПростоКря
Предмет: Окружающий мир,
автор: coolganiullin
Предмет: Русский язык,
автор: юлия1192
Предмет: Қазақ тiлi,
автор: nadyamamankova