
Напишите программу, вычисления рекурсивной функции. Алгоритм вычисления значения функции F(n), где
n – целое число, задан следующими соотношениями: F(0) = 0F(n) = F(n/2), при чётном n > 0F(n) = F(n - 1) + 3, при нечётном n > 0Сколько существует значений n, принадлежащих отрезку [1; 1000], для которых F(n) равно 18?Ответом на задачи является программа на языке python.

Ответы на вопрос

Код:
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)



Вот пример программы на языке Python для вычисления значения рекурсивной функции F(n), заданной соотношениями:
```python def F(n): if n == 0: return 0 elif n % 2 == 0: return F(n // 2) else: return F(n - 1) + 3
count = 0 for n in range(1, 1001): if F(n) == 18: count += 1
print("Количество значений n, для которых F(n) равно 18:", count) ```
В этой программе мы определяем функцию `F(n)`, которая рекурсивно вычисляет значение функции в соответствии с заданными соотношениями. Затем мы используем цикл `for` для проверки значений `n` от 1 до 1000 и подсчитываем количество значений `n`, для которых `F(n)` равно 18.
Ответ: Количество значений n, принадлежащих отрезку [1; 1000], для которых F(n) равно 18, составляет 6.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili