Жауабы: Рекурсивный подсчёт звёздочек
Это официальный ключ тапсырмаға, источник — ФИПИ тапсырмаларының ашық банкі. Свой ответ можно сверить на странице тапсырма.
Бланкке: өлшем бірліктері жоқ сан немесе сөз; бөлшек бөлігін үтірмен бөліңіз.
Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.
Функция F(n) при $n > 0$ вызывает G(n − 1). Функция G(n) печатает символ «звёздочка», а при $n > 1$ вызывает F(n − 3).
Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(18)?
Где здесь ошибаются
Учитывают только вызов G(1), забывая о звёздочках, напечатанных на предыдущих уровнях.
Уменьшают аргумент F на 3, хотя сначала F вызывает G с аргументом n − 1, а затем G вызывает F с аргументом n − 3; общий шаг равен 4.
Считают, что G печатает звёздочку только при условии $n > 1$.