Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n + F(n − 1), если n – чётно,
F(n) = 2 × F(n − 2), если n > 1 и при этом n – нечётно.
Чему равно значение функции F(26)?
Ответ:
Демонстрационный вариант ЕГЭ по информатике 2021 г. задания №16
Решение:
F(n) = n + F(n − 1), если n – чётно
F(26) = 26 + F(25)
F(n) = 1 при n = 1
F(1) = 1
F(n) = 2 × F(n − 2), если n > 1 и при этом n – нечётно
F(3) = 2 × F(1) = 2 × 1 = 2
F(5) = 2 × F(3) = 2 × 2 = 4
F(7) = 2 × F(5) = 2 × 4 = 8
..
F(25) = ?
| 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 |
| 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 |
F(26) = 26 + F(25)
F(26) = 26 + 4096 = 4122
Решение с программированием на Python
|
1 2 3 4 5 6 7 8 |
def F(n): if n == 1: return 1 if n % 2 == 0: return n + F(n - 1) else: return 2 * F(n - 2) print(F(26)) |
Ответ: 4122
