
Помогите, прошуЗаписана рекурсивная функция F. Begin Write (n div 3); If n div 3 > 2 then
Begin F(n-3); F(n-5); End; End. Что выведет программа при вызове F(14)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).

Ответы на вопрос

Ответ:
4322321
Объяснение:
Функция перестанет вызывать саму себя, когда выражение n div 3 > 2 будет ложным, то есть при n ≤ 8. При рекурсии функции вызываются последовательно: как только видим первую функцию, пишем новую строку, расписывая результат вызова, и вновь делаем то же самое. Однако для экономии места и времени можно раскрывать функции в строке сразу, ведь от этого порядок вывода чисел не изменится.
F(14) = 4F(11)F(9) = 43F(8)F(6)3F(6)F(4)=4322321



Давайте разберемся, что делает данная рекурсивная функция и как она будет выполняться при вызове F(14).
pascalBegin Write(n div 3); If n div 3 > 2 then Begin F(n - 3); F(n - 5); End; End.
При вызове F(14) происходит следующее:
- Выводится результат деления 14 на 3, что дает 4. Вывод: 4.
- Условие выполняется, так как 14 div 3 = 4 > 2. Вход внутрь условия.
- Вызывается F(14 - 3), то есть F(11).
При вызове F(11):
- Выводится результат деления 11 на 3, что дает 3. Вывод: 43.
- Условие выполняется, так как 11 div 3 = 3 > 2. Вход внутрь условия.
- Вызывается F(11 - 3), то есть F(8).
При вызове F(8):
- Выводится результат деления 8 на 3, что дает 2. Вывод: 432.
- Условие НЕ выполняется, так как 8 div 3 = 2 НЕ больше 2.
- Программа завершает выполнение для F(8).
Теперь вернемся к вызову F(11) и продолжим:
- Выводится результат деления 11 на 3, что дает 3. Вывод: 433.
- Условие выполняется, так как 11 div 3 = 3 > 2. Вход внутрь условия.
- Вызывается F(11 - 5), то есть F(6).
При вызове F(6):
- Выводится результат деления 6 на 3, что дает 2. Вывод: 4332.
- Условие НЕ выполняется, так как 6 div 3 = 2 НЕ больше 2.
- Программа завершает выполнение для F(6).
Теперь у нас есть окончательный вывод для вызова F(14):
Результат вызова F(14): 43324332.
Итак, последовательность выведенных цифр: 43324332.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili