×
  • 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. Программа на обработку массива
  • Спасибо за внимание
  • Разбор задачи № 11. Рекурсивные алгоритмы

    Теория по задаче

    Разбор текущей задачи
    Функции. Определение и вызов функции
    Рекурсия

    Условие задачи

    196) Ниже представлена реализация рекурсивной процедуры на трех языках программирования:

    def F(n):
      print(n)
      if n < 6:    
        F(n+2)
        F(n*3)
    procedure F(n: integer);
    begin
      writeln(n);
      if n < 6 then begin
        F(n+2);
        F(n*3)
      end
    end;
    void  F(int n) {
    	cout << n;
    	if (n < 6) {
    		F(n + 2);
    		F(n * 3);
    	}
    }

    Найдите сумму чисел, которые будут выведены при вызове F(1).