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

1. Напишите программу, вычисления рекурсивной функции. Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = –n при n < 0
F(n) = 2·n + 1 + F(n–3), если n ≥ 0 и чётно,
F(n) = 4·n + 2·F(n–4), если n ≥ 0 и нечётно.
Чему равно значение функции F(33)?
2. Напишите программу, вычисления рекурсивной функции. Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями:
F(n) = 1, при n < 2,
F(n) = F(n/2) + 1, когда n ≥ 2 и чётное,
F(n) = F(n - 3) + 3, когда n ≥ 2 и нечётное.
Назовите количество значений n на отрезке [1;100000], для которых F(n) равно 12.

ответом на задачи является программа на языке python.

Показать ответ
Ответ:
Соня11647
Соня11647
27.01.2022 11:30

1)

def f(n):

   if n < 0:

       return -n

   elif n % 2 == 0:

       return 2*n + 1 + f(n-3)

   elif n % 2 != 0:

       return 4*n + 2*f(n-4)

print(f(33))# = 11612

2)

def f(n):

   if n < 2:

      return 1

   elif n % 2 == 0:

       return f(n/2) + 1

   else:

       return f(n-3) + 3

counter = 0

for i in range(1,100001):

   if f(i) == 12:

       counter += 1

print(counter) // 26

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота