Лучшие помощники
- Megamozg 2180 б
- Matalya1 1800 б
- DevAdmin 1690 б
- arkasha_bortnikov 840 б
- Dwayne_Johnson 840 б
12 марта 2023 12:13
355
Пусть a % b – это остаток при делении натурального числа a на натуральное число b. Тело функции F(n) задано следующими строчками и условиями:
F(0) = 1
F(n) = F(n - 1) + n · n - 2, при n > 0 и n % 4 = 0
F(n) = F(n - (n % 4)) + 4 · n - 2, при n > 0 и n % 4 > 0
При этом n — целое неотрицательное число. Определите, что вернет данная функция, если в неё передать аргумент n = 20?
1
ответ
Для n = 20 выполняется условие n % 4 = 0, поэтому используется первая строчка формулы: F(n) = F(n - 1) + n · n - 2.
Вычисляем значение функции последовательно:
F(0) = 1
F(1) = F(0) + 1 · 1 - 2 = -1 (условие n > 0 не выполняется)
F(2) = F(1) + 2 · 2 - 2 = -1 (условие n > 0 не выполняется)
F(3) = F(2) + 3 · 3 - 2 = -1 (условие n > 0 не выполняется)
F(4) = F(3) + 4 · 4 - 2 = 11
F(5) = F(4 - (4 % 5)) + 4 · 5 - 2 = F(4) + 18 = 29
F(6) = F(5 - (5 % 4)) + 4 · 6 - 2 = F(4) + 22 = 33
F(7) = F(6) + 7 · 7 - 2 = 234
F(8) = F(7 - (7 % 4)) + 4 · 8 - 2 = F(4) + 30 = 41
F(9) = F(8) + 9 · 9 - 2 = 331
F(10) = F(9 - (9 % 4)) + 4 · 10 - 2 = F(8) + 38 = 79
F(11) = F(10) + 11 · 11 - 2 = 868
F(12) = F(11 - (11 % 4)) + 4 · 12 - 2 = F(8) + 46 = 87
F(13) = F(12) + 13 · 13 - 2 = 1710
F(14) = F(13 - (13 % 4)) + 4 · 14 - 2 = F(12) + 54 = 141
F(15) = F(14) + 15 · 15 - 2 = 2099
F(16) = F(15 - (15 % 4)) + 4 · 16 - 2 = F(12) + 62 = 149
F(17) = F(16) + 17 · 17 - 2 = 2588
F(18) = F(17 - (17 % 4)) + 4 · 18 - 2 = F(16) + 70 = 219
F(19) = F(18) + 19 · 19 - 2 = 3931
F(20) = F(19 - (19 % 4)) + 4 · 20 - 2 = F(16) + 78 = 227
Таким образом, при n = 20 функция F вернет значение 227.
Вычисляем значение функции последовательно:
F(0) = 1
F(1) = F(0) + 1 · 1 - 2 = -1 (условие n > 0 не выполняется)
F(2) = F(1) + 2 · 2 - 2 = -1 (условие n > 0 не выполняется)
F(3) = F(2) + 3 · 3 - 2 = -1 (условие n > 0 не выполняется)
F(4) = F(3) + 4 · 4 - 2 = 11
F(5) = F(4 - (4 % 5)) + 4 · 5 - 2 = F(4) + 18 = 29
F(6) = F(5 - (5 % 4)) + 4 · 6 - 2 = F(4) + 22 = 33
F(7) = F(6) + 7 · 7 - 2 = 234
F(8) = F(7 - (7 % 4)) + 4 · 8 - 2 = F(4) + 30 = 41
F(9) = F(8) + 9 · 9 - 2 = 331
F(10) = F(9 - (9 % 4)) + 4 · 10 - 2 = F(8) + 38 = 79
F(11) = F(10) + 11 · 11 - 2 = 868
F(12) = F(11 - (11 % 4)) + 4 · 12 - 2 = F(8) + 46 = 87
F(13) = F(12) + 13 · 13 - 2 = 1710
F(14) = F(13 - (13 % 4)) + 4 · 14 - 2 = F(12) + 54 = 141
F(15) = F(14) + 15 · 15 - 2 = 2099
F(16) = F(15 - (15 % 4)) + 4 · 16 - 2 = F(12) + 62 = 149
F(17) = F(16) + 17 · 17 - 2 = 2588
F(18) = F(17 - (17 % 4)) + 4 · 18 - 2 = F(16) + 70 = 219
F(19) = F(18) + 19 · 19 - 2 = 3931
F(20) = F(19 - (19 % 4)) + 4 · 20 - 2 = F(16) + 78 = 227
Таким образом, при n = 20 функция F вернет значение 227.
0
·
Хороший ответ
12 марта 2023 12:14
Остались вопросы?
Еще вопросы по категории Информатика
В корзине лежат белые и черные шары. Среди них 18 черных шаров. Сообщение о том, что из корзины достали белый шар, несет 2 бита информации. Сколько вс...
Pascal функция exp(ln(a)*n), возводящая в степень, как это работает? Я понимаю, что такое натуральный логарифм, но что за exp и как они взаимодействую...
Переведите пожалуйста 1048576 бит в Килобайты...
Вы можете использовать алфавит из двух символов: 0 и 1. Сколько разных трёхсимвольных слов существует в этом алфавите? Для ответа на вопрос постройте...
Заполните массив из 10 элементов степенями числа 2 (от 21 до 2N), так чтобы элемент с индексом i был равен 2i. Паскаль...
Все предметы