Рекурсивный вызов функций
Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): 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 вызывается три раза.