Информатика • 11 класс
1151

Динамическое программирование как метод решения задач с сохранением промежуточных результатов (Паскаль)

  • Динамическое программирование  это метод решения сложных задач путём их разбиения на более простые подзадачи, при этом результаты решения подзадач сохраняются и повторно используются для избегания избыточных вычислений.
  • Числа Фибоначчи  классический пример, где динамическое программирование применяется наиболее естественно. Математически последовательность Фибоначчи определяется следующим образом:
    • F (1) = 1,
    • F (2) = 1,
    • F (n) = F (n  1) + F (n  2) для n > 2.
      Таким образом, ряд начинается как: 1, 1, 2, 3, 5, 8, 13, 21, ... где каждое последующее число равно сумме двух предыдущих.
  • Программная реализация демонстрирует этот принцип на практике:
    function Fibonacci (n: integer): QWord;
    var x, y, c: QWord; i: integer;
    begin
      if (n = 1) or (n = 2) then Fibonacci := 1;
      x := 1; y := 1;
      for i := 2 to n - 1 do
      begin
        c := x + y; { Вычисляем текущий член как сумму двух предыдущих }
        x := y; { Сдвигаем значения для следующей итерации }
        y := c; { Теперь y хранит последнее вычисленное значение }
      end;
      Fibonacci := y;
    end;
    var k: integer;
    Begin
      readln (k);
      write (Fibonacci (k));
    End.
Было полезно?

Рекомендуем

Вы учитель или ученик?
Познакомьтесь с нашим образовательным онлайн-сервисом с тысячами интерактивных работ
Учителю
Удобно проводить уроки в классе, назначать работы на дом и анализировать результаты всего класса или конкретных учеников
Ученику
Самостоятельно изучать новые и повторять пройденные темы, готовиться по индивидуальной траектории и оценивать результаты на наглядных графиках
Зарегистрироваться в «Облаке знаний»
Логотип облако знаний
+7 (499) 322-07-57
info@oblakoz.ru

Контактный центр

МО, г. Долгопрудный,
Лихачевский проезд, 4, стр. 1

Отдел заботы о пользователях

Политика конфиденциальности

© ООО «Физикон Лаб», 2026

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪