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

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.

Показать ответ
Ответ:
Ксюша10012007
Ксюша10012007
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-бота