Kafym
4 год назад
Пожалуйста посчитайте, прошуЗаписана рекурсивная функция F.BeginWrite (n div 3);If n div 3 > 2 thenBeginF(n-3);F(n-5);End;End.Что выведет программа при вызове F(14)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).
ОТВЕТЫ
Trendafil
Oct 24, 2020
4322321
Функция перестанет вызывать саму себя, когда выражение n div 3 > 2 будет ложным, то есть при n ≤ 8. При рекурсии функции вызываются последовательно: как только видим первую функцию, пишем новую строку, расписывая результат вызова, и вновь делаем то же самое. Однако для экономии места и времени можно раскрывать функции в строке сразу, ведь от этого порядок вывода чисел не изменится.
F(14) = 4F(11)F(9) = 43F(8)F(6)3F(6)F(4)=4322321
83
Смежные вопросы: