Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 865 б
12 марта 2023 14:04
440
Функции 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 -
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.
Воспользуемся этим подходом и напишем программу на языке 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
Остались вопросы?
Еще вопросы по категории Информатика
Как определить, что ваш компьютер заражен? Друзья получают от вас по электронной почте сообщения, которых вы не посылали Компьютер часто зависает ли...
Нормализуйте мантиссу в числах: а) 0,0041* 102; б) -16,78* 10-3....
Иногда выводит ошибку: Ошибка времени выполнения, индекс находится вне границ массива. PascalABC.NET вот само задание: Дан массив А(n). Поменять места...
Информационное сообщение объемом 1,5 Кб содержит 3072символа.Сколько симфолов содержит алфавит,при помощи которого было записано это сообщение?...
Конспект на тему" что такое WWW" ...