Решал варианты егэ и наткнулся на такое задание,помогите пож-ста если кто знает как это делать.
Записаны две рекурсивные функции F и G.Сколько символов "звёздочка" будет напечатано на экране при выполнении вызова F(11) ?
procedure F(n:integer); forward;
procedure G(n:integer); forward;
procedure F(n:integer);
begin
if n>0 then
G (n-1);
end;
procedure G(n:integer);
begin
writeln(' * ');
if n>1 then
F(n-2);
end;
У меня получился ответ 8
Аноним:
Кто Вам мешает написать программу вызова и проверить?
Ответы
Ответ дал:
5
Вызов ⇒ Результат
F(11) ⇒ G(10)
G(10) ⇒ Вывод * ⇒ F(8)
F(8) ⇒ G(7)
G(7) ⇒ Вывод * ⇒ F(5)
F(5) ⇒ G(4)
G(4) ⇒ Вывод * ⇒ F(2)
F(2)⇒ G(1)
G(1) ⇒ Вывод * ⇒ Завершение работы G
Завершение работы F
Ответ: Будет выведено 4 строки, в начале каждой из которых находится звездочка.
F(11) ⇒ G(10)
G(10) ⇒ Вывод * ⇒ F(8)
F(8) ⇒ G(7)
G(7) ⇒ Вывод * ⇒ F(5)
F(5) ⇒ G(4)
G(4) ⇒ Вывод * ⇒ F(2)
F(2)⇒ G(1)
G(1) ⇒ Вывод * ⇒ Завершение работы G
Завершение работы F
Ответ: Будет выведено 4 строки, в начале каждой из которых находится звездочка.
Вас заинтересует
2 года назад
2 года назад
2 года назад
7 лет назад
7 лет назад
9 лет назад