Рекурсивный подсчёт звёздочек
Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры) $F$ и $G$. Функция $F(n)$ вызывает $G(n-1)$, если $n>0$. Функция $G(n)$ печатает символ «*», а затем вызывает $F(n-2)$, если $n>1$. Сколько символов «*» будет напечатано на экране при выполнении вызова $F(13)$?
Условие как в банке ФИПИ — открыть и сверить
| Ниже на пяти языках программирования записаны две рекурсивные функции (процедуры): F и G.
Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(13)? | ||||||||||||
| | ||||||||||||
Формат: өлшем бірліктері жоқ сан немесе сөз; бөлшек бөлігін үтірмен бөліңіз.
1Мягкая — с чего смотретьдеңгей 1 из 3
Каждый вызов $G$ печатает ровно один символ «*». С каким аргументом вызывается следующий $F$ после $F(n)$?
2Жетекші — қандай сандарды есептеудеңгей 2 из 3
Цепочка аргументов вызовов функции $F$ уменьшается на 3: $F(13) \to F(10) \to F(7) \to F(4) \to F(1)$.
3Тікелей — іс жүзінде шешімдеңгей 3 из 3
Каждый из пяти вызовов $F$ порождает вызов $G$, поэтому печатается по одному символу: $5$ символов.