×
  • 1. Системы счисления
  • 2. Логические функции
  • 3. Анализ информационных моделей
  • 4. Файловая система и базы данных
  • 5. Кодирование и декодирование. Условие Фано
  • 6. Выполнение и анализ простых алгоритмов
  • 7. Адресация в электронных таблицах
  • 8. Анализ программ с циклами
  • 9. Скорость передачи, объем памяти, время передачи
  • 10. Кодирование, комбинаторика
  • 11. Рекурсивные алгоритмы
  • 12. Адресация в сетях TCP/IP
  • 13. Вычисление количества информации
  • 14. Анализ и выполнение алгоритмов для исполнителя
  • 15. Поиск путей в графе
  • 16. Позиционные системы счисления
  • 17. Запросы в поисковых системах
  • 18. Логические выражения и множества
  • 19. Анализ программы по работе с массивом
  • 20. Анализ программ с циклами
  • 21. Анализ программ с циклами и подпрограммами
  • 22. Динамическое программирование
  • 23. Системы логических уравнений
  • 24. Исправление фрагмента программы и ошибок
  • 25. Программа на обработку массива
  • Спасибо за внимание
  • Условие задачи

    197) Ниже записаны две рекурсивные функции: F и G. Чему будет равно значение, вычисленное при выполнении вызова F(6)?

    def F(n):
      if n > 2: 
        return F(n-1) + G(n-2)
      else:
        return n
    def G(n):
      if n > 2: 
        return G(n-1) + F(n-2)
      else:
        return n+1
    function F(n: integer): integer;
    begin
      if n > 2 then F := F(n-1) + G(n-2)
      else F := n;
    end;
    function G(n: integer): integer;
    begin
      if n > 2 then G := G(n-1) + F(n-2)
      else G := n+1;
    end;
    int F(int n) {
      if (n > 2) 
        return F(n-1) + G(n-2);
      else 
        return n; 
    }
    void G(int n) {
      if (n > 2)
        return G(n-1) + F(n-2);
      else
        return n+1;
    }

    Комментарии