Рекурсивный вызов функций
Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.
Функция F(n) вызывает G(n - 2), если n > 0. Функция G(n) печатает символ «*» и вызывает F(n - 1), если n > 1.
Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(9)?
Условие как в банке ФИПИ — открыть и сверить
| Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.
Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(9)? | ||||||||||||
| | ||||||||||||
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Проследите цепочку вызовов функций, начиная с F(9). Каждый вызов G печатает одну «звёздочку».
2Наводящая — какие числа считатьуровень 2 из 3
После вызова F(n) вызывается G(n - 2), а после G(k), если k > 1, вызывается F(k - 1).
3Прямая — фактически решениеуровень 3 из 3
Цепочка имеет вид: F(9) → G(7) → F(6) → G(4) → F(3) → G(1) → F(0). Функция G вызывается три раза.