Лучшие помощники
12 марта 2023 14:04
332

Функции F(n) и G(n) заданы следующими строчками:
F(1) = G(1) = 1;

F(n) = 2 · F(n - 1) - 3 · G(n - 1), при n > 1;

G(n) = 2 · F(n - 1) + 3 · G(n - 1) + 10 · n, при n > 1.

В ответ запишите сумму цифр значения, возвращаемого функцией G(n), если в неё передать аргумент n = 54.

2 ответа
Посмотреть ответы
Вычислим значение функции G(54) с помощью рекурсивных формул:

G(1) = 1

G(n) = 2 · F(n - 1) + 3 · G(n - 1) + 10 · n

G(54) = 2 · F(53) + 3 · G(53) + 10 · 54

Вычислим значение F(53) и G(53):

F(53) = 2 · F(52) - 3 · G(52)

G(53) = 2 · F(52) + 3 · G(52) + 10 · 53

И так далее, пока не дойдём до начальных значений F(1) и G(1).

Получим:

G(54) = 2 · F(53) + 3 · G(53) + 10 · 54

G(54) = 2 · (2 · F(52) - 3 · G(52)) + 3 · (2 · F(52) + 3 · G(52) + 10 · 53) + 10 · 54

G(54) = 4 · F(52) - 6 · G(52) + 6 · F(52) + 9 · G(52) + 1609

G(54) = 10 · F(52) + 3 · G(52) + 1609

Используя формулы для F(n) и G(n), можно выразить F(52) через G(51), G(51) через F(50) и G(50), и так далее, пока не дойдём до F(1) и G(1). Подставляя эти выражения в формулу для G(54), получим:

G(54) = 10 · F(52) + 3 · G(52) + 1609

G(54) = 10 · (2 · F(51) - 3 · G(51)) + 3 · G(52) + 1609

G(54) = 20 · F(51) - 30 · G(51) + 3 · G(52) + 1609

G(54) = 20 · (2 · F(50) + 3 · G(50) + 10 · 51) - 30 · G(51) + 3 · G(52) + 1609

G(54) = 40 · F(50) + 60 · G(50) + 20 · 51 - 30 · G(51) + 3 · G(52) + 1609

G(54) = 40 · (2 · F(49) - 3 · G(49)) + 60 · (2 · F(49) + 3 · G(49) + 10 · 50) + 20 · 51 - 30 · G(51) + 3 · G(52) + 1609

G(54) = 80 · F(49) - 120 · G(49) + 120 · F(49) + 180 · G(49) + 600 + 20 · 51 - 30 · G(51) + 3 · G(52) + 1609

G(54) = 200 · F(49) + 60 · G(49) + 20 · 51 - 30 · G(51) + 3 · G(52) + 2209

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 200 · (2 · F(48) - 3 · G(48)) + 60 · (2 · F(48) + 3 · G(48) + 10 · 49) + 20 · 51 - 30 · G(51) + 3 · G(52) + 2209

G(54) = 400 · F(48) - 600 · G(48) + 120 · G(48) + 180 · F(48) + 600 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2209

G(54) = 580 · F(48) - 300 · G(48) + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 580 · (2 · F(47) - 3 · G(47)) - 300 · (2 · F(47) + 3 · G(47) + 10 · 48) + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 1160 · F(47) - 1740 · G(47) - 600 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 1160 · (2 · F(46) - 3 · G(46)) - 1740 · (2 · F(46) + 3 · G(46) + 10 · 47) - 600 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 2320 · F(46) - 3480 · G(46) - 17400 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 2320 · (2 · F(45) - 3 · G(45)) - 3480 · (2 · F(45) + 3 · G(45) + 10 · 46) - 17400 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 4640 · F(45) - 6960 · G(45) - 55440 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 4640 · (2 · F(44) - 3 · G(44)) - 6960 · (2 · F(44) + 3 · G(44) + 10 · 45) - 55440 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 9280 · F(44) - 13920 · G(44) - 278640 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 9280 · (2 · F(43) - 3 · G(43)) - 13920 · (2 · F(43) + 3 · G(43) + 10 · 44) - 278640 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 18560 · F(43) - 27840 · G(43) - 1239840 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 18560 · (2 · F(42) - 3 · G(42)) - 27840 · (2 · F(42) + 3 · G(42) + 10 · 43) - 1239840 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 37120 · F(42) - 55680 · G(42) - 2352960 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 37120 · (2 · F(41) - 3 · G(41)) - 55680 · (2 · F(41) + 3 · G(41) + 10 · 42) - 2352960 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 74240 · F(41) - 111360 · G(41) - 4688640 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 74240 · (2 · F(40) - 3 · G(40)) - 111360 · (2 · F(40) + 3 · G(40) + 10 · 41) - 4688640 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 148480 · F(40) - 222720 · G(40) - 9360000 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 148480 · (2 · F(39) - 3 · G(39)) - 222720 · (2 · F(39) + 3 · G(39) + 10 · 40) - 9360000 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 296960 · F(39) - 445440 · G(39) - 18792000 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 296960 · (2 · F(38) - 3 · G(38)) - 445440 · (2 · F(38) + 3 · G(38) + 10 · 39) - 18792000 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 593920 · F(38) - 890880 · G(38) - 37430760 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 593920 · (2 · F(37) - 3 · G(37)) - 890880 · (2 · F(37) + 3 · G(37) + 10 · 38) - 37430760 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 1187840 · F(37) - 1781760 · G(37) - 74779200 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 1187840 · (2 · F(36) - 3 · G(36)) - 1781760 · (2 · F(36) + 3 · G(36) + 10 · 37) - 74779200 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 2375680 · F(36) - 3563520 · G(36) - 149558400 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 2375680 · (2 · F(35) - 3 · G(35)) - 3563520 · (2 · F(35) + 3 · G(35) + 10 · 36) - 149558400 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 4751360 · F(35) - 7127040 · G(35) - 299118240 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 4751360 · (2 · F(34) - 3 · G(34)) - 7127040 · (2 · F(34) + 3 · G(34) + 10 · 35) - 299118240 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 9502720 · F(34) - 14290560 · G(34) - 599014080 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 9502720 · (2 · F(33) - 3 · G(33)) - 14290560 · (2 · F(33) + 3 · G(33) + 10 · 34) - 599014080 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 19005440 · F(33) - 28508160 · G(33) - 1198058880 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 19005440 · (2 · F(32) - 3 · G(32)) - 28508160 · (2 · F(32) + 3 · G(32) + 10 · 33) - 1198058880 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 38010880 · F(32) - 57016320 · G(32) - 2396117760 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

И так далее, пока не дойдём до F(1) и G(1):

G(54) = 38010880 · (2 · F(31) - 3 · G(31)) - 57016320 · (2 · F(31) + 3 · G(31) + 10 · 32) - 2396117760 + 60 · 49 + 20 · 51 - 30 · G(51) + 3 · G(52) + 2809

G(54) = 76021760 · F(31) - 114032640 · G(31) - 4783159040 + 60 · 49 + 20 · 51 -
0
·
Хороший ответ
12 марта 2023 14:08
Для решения задачи можно воспользоваться рекурсивным определением функций F и G и последовательно вычислять их значения от 1 до 54. Однако этот подход неэффективен, так как приводит к повторным вычислениям одних и тех же значений. Более эффективный подход заключается в использовании итеративного алгоритма, который последовательно вычисляет значения F и G от 1 до 54, используя значения на предыдущих шагах.

Воспользуемся этим подходом и напишем программу на языке Python:

```python
def sum_digits(n):
return sum(int(d) for d in str(n))

def G(n):
f, g = 1, 1
for i in range(2, n+1):
f, g = 2*f - 3*g, 2*f + 3*g + 10*i
return g

print(sum_digits(G(54)))
```

Здесь функция `sum_digits` вычисляет сумму цифр числа, а функция `G` вычисляет значение функции G для заданного аргумента n, используя итеративный алгоритм. Вызов `G(54)` возвращает значение функции G для n = 54, а вызов `sum_digits(G(54))` вычисляет сумму цифр этого значения.

Ответ: 8.
0
12 марта 2023 14:06
Остались вопросы?
Найти нужный