Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 895 б
- Dwayne_Johnson 860 б
12 марта 2023 10:21
373
Пусть / – целочисленное деление. Тело функции F(n) задано следующими строчками и условиями:
F(n) = 1, при n < 3
F(n) = F(n - 2) · (n / 3), при n > 3
При этом n – натуральное число. Определите, что вернет данная функция, если в неё передать аргумент n = 16?
1
ответ
При n = 16 функция F(n) будет вычислена следующим образом:
F(16) = F(16 - 2) · (16 / 3) = F(14) · (16 / 3)
Здесь F(14) будет вычислена так:
F(14) = F(14 - 2) · (14 / 3) = F(12) · (14 / 3)
Аналогично, F(12) будет вычислена так:
F(12) = F(12 - 2) · (12 / 3) = F(10) · (12 / 3)
Продолжая этот процесс, мы дойдем до F(4), которая будет вычислена так:
F(4) = F(4 - 2) · (4 / 3) = F(2) · (4 / 3) = 1 · (4 / 3) = 1
Таким образом, мы получаем:
F(16) = F(14) · (16 / 3) = F(12) · (14 / 3) · (16 / 3) = … = F(4) · (4 / 3) · (6 / 3) · (8 / 3) · (10 / 3) · (12 / 3) · (14 / 3) · (16 / 3) = 1 · (4 / 3) · (6 / 3) · (8 / 3) · (10 / 3) · (12 / 3) · (14 / 3) · (16 / 3) = 3584/81
Таким образом, если в функцию передать аргумент n = 16, то она вернет значение 3584/81.
F(16) = F(16 - 2) · (16 / 3) = F(14) · (16 / 3)
Здесь F(14) будет вычислена так:
F(14) = F(14 - 2) · (14 / 3) = F(12) · (14 / 3)
Аналогично, F(12) будет вычислена так:
F(12) = F(12 - 2) · (12 / 3) = F(10) · (12 / 3)
Продолжая этот процесс, мы дойдем до F(4), которая будет вычислена так:
F(4) = F(4 - 2) · (4 / 3) = F(2) · (4 / 3) = 1 · (4 / 3) = 1
Таким образом, мы получаем:
F(16) = F(14) · (16 / 3) = F(12) · (14 / 3) · (16 / 3) = … = F(4) · (4 / 3) · (6 / 3) · (8 / 3) · (10 / 3) · (12 / 3) · (14 / 3) · (16 / 3) = 1 · (4 / 3) · (6 / 3) · (8 / 3) · (10 / 3) · (12 / 3) · (14 / 3) · (16 / 3) = 3584/81
Таким образом, если в функцию передать аргумент n = 16, то она вернет значение 3584/81.
0
·
Хороший ответ
12 марта 2023 10:22
Остались вопросы?
Еще вопросы по категории Информатика
Что будет напечатано после того, как выполнится следующий фрагмент кода? s := 'abrakadabra'; while pos('a', s) > 0 do begin x := pos('a', s);...
Лягушка и кузнечик Ограничение по времени: 0.5 секунды В крайних клетках полоски шириной в одну клетку и длиной в N клеток сидят лягушка и кузнечик:...
Даю 100 баллов на C++ надо написать программу задание с сириуса: Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение...
Дано: writeln (s:6:2); Если s=114,65748, то на экране появится...?...
Какие предложения являются высказывания...