Информатика 10 класс Рекурсивные алгоритмы Заранее спасибо Алгоритм вычисления функции F(n) задан
следующими соотношениями:F(n) = n + 3 при n < 3F(n) = (n + 2)·F(n–4), если n делится на 3,F(n) = n + F(n–1) + 2·F(n–2), если n не делится на 3.Чему равно значение функции F(7)?Ответы на вопрос
Ответ:
145
Объяснение:
F(7) - 7 больше 3 и не делится на 3, поэтому F(7) = 7 + F(6) + 2F(5)
Получаем, что, чтобы посчитать ответ, нужно вычислить еще и F(6) и F(5).
F(6) - 6 больше 3 и делится на 3, значит F(6) = (6 + 2) * F(2)
F(5) - 5 больше не делится на 3, значит F(5) = 5 + F(4) + 2F(3)
Получаем, придется посчитать еще и F(4), F(3), F(2):
F(4) - 4 больше 3 и не делится на 3 => F(4) = 4 + F(3) + 2F(2)
F(3) - 3 не меньше 3 и делится на 3 => F(3) = 5 * F(-1)
F(2) - 2 меньше 3, поэтому F(2) = 2 + 3 = 5
Осталось одно невычисленное значение F(-1): (-1) меньше 3, поэтому F(-1) = -1 + 3 = 2
Теперь идем снизу вверх, подставляя известные значения.
Сейчас мы знаем только F(-1)=2 и F(2)=5, этого достаточно, чтобы вычислить F(3) и F(6)
F(3) = 5 * F(-1) = 5 * 2 = 10
F(6) = (6 + 2) * F(2) = 8 * 5 = 40
Теперь мы знаем все, чтобы вычислить F(4):
F(4) = 4 + F(3) + 2F(2) = 4 + 10 + 2 * 5 = 24
Теперь можем посчитать F(5):
F(5) = 5 + F(4) + 2F(3) = 5 + 24 + 2 * 10 = 49
Теперь знаем все для F(7):
F(7) = 7 + F(6) + 2F(5) = 7 + 40 + 2*49 = 145
Рекурсивные алгоритмы и вычисление функции F(n)
Алгоритм вычисления функции F(n) задан следующими соотношениями:
- F(n) = n + 3 при n < 3 - F(n) = (n + 2) * F(n–4), если n делится на 3 - F(n) = n + F(n–1) + 2 * F(n–2), если n не делится на 3
Мы хотим вычислить значение функции F(7).
Вычисление значения функции F(7)
Для вычисления значения функции F(7) по заданным соотношениям, мы можем использовать рекурсивный подход. Давайте разберемся с каждым из случаев:
1. Если n < 3, то F(n) = n + 3. В данном случае, n = 7, что больше 3. Поэтому это условие не выполняется.
2. Если n делится на 3, то F(n) = (n + 2) * F(n–4). В данном случае, n = 7, что не делится на 3. Поэтому это условие также не выполняется.
3. Если n не делится на 3, то F(n) = n + F(n–1) + 2 * F(n–2). В данном случае, n = 7, что не делится на 3. Мы можем использовать это соотношение для вычисления значения F(7).
Давайте применим это соотношение:
F(7) = 7 + F(7–1) + 2 * F(7–2)
F(7) = 7 + F(6) + 2 * F(5)
Теперь нам нужно вычислить значения F(6) и F(5) для продолжения вычислений.
F(6) = 6 + F(6–1) + 2 * F(6–2)
F(6) = 6 + F(5) + 2 * F(4)
F(5) = 5 + F(5–1) + 2 * F(5–2)
F(5) = 5 + F(4) + 2 * F(3)
Теперь у нас есть значения F(6), F(5), F(4) и F(3), которые мы можем использовать для вычисления F(7).
F(6) = 6 + F(5) + 2 * F(4)
F(6) = 6 + (5 + F(4) + 2 * F(3)) + 2 * F(4)
F(6) = 6 + 5 + 2 * F(4) + 2 * F(3) + 2 * F(4)
F(6) = 11 + 4 * F(4) + 2 * F(3)
Теперь нам нужно вычислить значения F(4) и F(3).
F(4) = 4 + F(4–1) + 2 * F(4–2)
F(4) = 4 + F(3) + 2 * F(2)
F(3) = 3 + 3
F(3) = 6
Теперь мы можем использовать значения F(4) и F(3) для вычисления F(6).
F(4) = 4 + 6 + 2 * F(2)
F(4) = 10 + 2 * F(2)
Теперь нам нужно вычислить значение F(2).
F(2) = 2 + 3
F(2) = 5
Теперь мы можем использовать значения F(2) и F(4) для вычисления F(6).
F(4) = 10 + 2 * 5
F(4) = 20
Теперь мы можем использовать значения F(4) и F(3) для вычисления F(6).
F(6) = 11 + 4 * 20 + 2 * 6
F(6) = 11 + 80 + 12
F(6) = 103
Теперь мы можем использовать значения F(6) и F(5) для вычисления F(7).
F(7) = 7 + 103 + 2 * (5 + 20 + 2 * 6)
F(7) = 7 + 103 + 2 * (5 + 20 + 12)
F(7) = 7 + 103 + 2 * 37
F(7) = 7 + 103 + 74
F(7) = 184
Таким образом, значение функции F(7) равно 184.
Источник:
- - C/C++ - You.comПохожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
