• Вопрос по информатике:

    Дан рекурсивный алгоритм:
    procedure F(n: integer);
    begin
    writeln('*');
    if n > 0 then begin
    F(n-3);
    F(n-2);
    F(n div 2);
    F(n div 2);
    end
    end;
    Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(6)?

    • Автор:

      jilliannichols
  • Ответ:

    Дурацкая по своей трудоемкости задача, если делать её вручную.А если написать полную программу и вставить туда счетчик вызовов F(n), то окажется, что для вызова F(6) процедура будет вызвана 97 раз. При каждом вызове выводится звездочка, поэтому их будет выведено тоже 97.Проверка выполнялась по следующей программе:var  k:integer;procedure F(n: integer);begin  writeln('*');  k:=k+1;  if n > 0 then begin    F(n - 3);    F(n - 2);    F(n div 2);    F(n div 2);  endend;begin  k:=0;  F(6);  Writeln(k)end.
    • Отвечал:

      sassysmeb

    Ответов нет, но ты это испарвиш!