Вопрос:

28. Напишите программу, которая находит значение функции F(9)? Алгоритм вычисления функции F(n) задан следующими соотношениями: F(n) = n при n > 18 F(n) = 3*F(n+1) + n + 8, если n ≤ 18

Ответ:

Решение:

Чтобы найти значение функции \( F(9) \), будем использовать рекурсивное определение функции. Нам нужно вычислить \( F(9) \) по формуле \( F(n) = 3 \cdot F(n+1) + n + 8 \), так как \( 9 \le 18 \).

  1. \( F(9) = 3 \cdot F(10) + 9 + 8 \)
  2. \( F(10) = 3 \cdot F(11) + 10 + 8 \)
  3. \( F(11) = 3 \cdot F(12) + 11 + 8 \)
  4. \( F(12) = 3 \cdot F(13) + 12 + 8 \)
  5. \( F(13) = 3 \cdot F(14) + 13 + 8 \)
  6. \( F(14) = 3 \cdot F(15) + 14 + 8 \)
  7. \( F(15) = 3 \cdot F(16) + 15 + 8 \)
  8. \( F(16) = 3 \cdot F(17) + 16 + 8 \)
  9. \( F(17) = 3 \cdot F(18) + 17 + 8 \)
  10. \( F(18) = 3 \cdot F(19) + 18 + 8 \)
  11. \( F(19) \) вычисляется по первой формуле, так как \( 19 > 18 \): \( F(19) = 19 \)

Теперь подставим значения обратно, начиная с \( F(19) \):

  1. \( F(18) = 3 \cdot 19 + 18 + 8 = 57 + 26 = 83 \)
  2. \( F(17) = 3 \cdot 83 + 17 + 8 = 249 + 25 = 274 \)
  3. \( F(16) = 3 \cdot 274 + 16 + 8 = 822 + 24 = 846 \)
  4. \( F(15) = 3 \cdot 846 + 15 + 8 = 2538 + 23 = 2561 \)
  5. \( F(14) = 3 \cdot 2561 + 14 + 8 = 7683 + 22 = 7705 \)
  6. \( F(13) = 3 \cdot 7705 + 13 + 8 = 23115 + 21 = 23136 \)
  7. \( F(12) = 3 \cdot 23136 + 12 + 8 = 69408 + 20 = 69428 \)
  8. \( F(11) = 3 \cdot 69428 + 11 + 8 = 208284 + 19 = 208303 \)
  9. \( F(10) = 3 \cdot 208303 + 10 + 8 = 624909 + 18 = 624927 \)
  10. \( F(9) = 3 \cdot 624927 + 9 + 8 = 1874781 + 17 = 1874798 \)

Ответ: \( F(9) = 1874798 \).