Задание №11 ЕГЭ

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

 

Бейсик

Python

DECLARE SUB F(n)

SUB F(n)

IF n > 2 THEN

PRINT n

F(n - 3)

F(n – 4)

END IF

END SUB

def F(n):

if n > 2:

print(n)

F(n - 3)

F(n – 4)

Паскаль

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

procedure F(n: integer);

begin

if n > 2 then begin

writeln(n);

F(n - 3);

F(n – 4)

end

end;

алг F(цел n)

нач

если n > 2 то

вывод n, нс

F(n - 3)

F(n – 4)

все

кон

Си

void F(int n) {

if (n > 2) {

printf("%d\n", n);

F(n - 3);

F(n – 4);

}

}

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

Решение.

Давайте вспомним, что такое рекурсивный алгоритм.

Рекурсивный алгоритм – это алгоритм, неоднократно вызывающий сам себя.

В задаче происходит вызов F(10).

Найдём сумму выведенных чисел:
10 + 7 + 6 + 4 + 3 + 3 = 33

Ответ: 33.