СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




Задания
Версия для печати и копирования в MS Word
Задание 11 № 9646

Ниже на четырёх языках программирования записан рекурсивный алгоритм F.

 

БейсикПаскаль

SUB F(n)

  IF n > 0 THEN

    F(n - 4)

    PRINT n

    F(n \ 3)

  END IF

END SUB

procedure F(n: integer);

begin

  if n > 0 then

  begin

    F(n - 4);

    writeln(n);

    F(n div 3)

  end

end;

СиАлгоритмический язык

void F(int n)

{

if (n > 0)

  {

    F(n - 4);

    cout << n;

    F(n / 3);

  }

}

алг F(цел n)

нач

  если n > 0 то

F(n - 4)

вывод n, нс

F(div(n, 3))

  все

кон 

Python

def F(n):

    if n > 0:

        F(n - 4)

        print(n)

        F(n // 3)

 

Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(9)?

Решение.

Промоделируем работу алгоритма, не выписывая F с аргументом меньше нуля.

F(9)

   F(5)

      F(1)

      F(1)

   F(3)

      F(1)

 

Сложим все числа, получим 20.

 

Ответ: 20.