previous arrow
next arrow
Slider

Решение. Задание 11. Досрочный ЕГЭ 2020 года, Информатика

Условие задачи

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

Бейсик Python
SUB F(n)
   IF n > 0 THEN
       PRINT n,
       F(n - 3)
       F(n \ 2)
   END IF
END SUB
def F(n):
     if n > 0:
         print(n)
         F(n - 3)
         F(n // 2)
Алгоритмический язык Паскаль
алг F (цел n)
нач
    если n > 0 то
      вывод n
      F(n - 3)
      F(div(n, 2))
    все 
кон
procedure F(n: integer);
 begin   if n > 0 then
   begin
     write(n);
     F(n - 3);
     F(n div 2)
   end
end;
С++
void F(int n){
     if (n > 0){
         std::cout << n;
         F(n - 3);
         F(n / 2);
     }
}

Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Решение

Распишем последовательно результаты работы функции:

F(7) 7 F(4) F(3)
F(4) 4 F(1) F(2)
F(3) 3 F(0) F(1)
F(2) 2 F(-1) F(1)
F(1) 1 F(-2) F(0)
F(0)      -
F(-1)     -
F(-2)    -

И запишем результаты, собирая их с конца:

F(1) 1
F(2) 21
F(3) 31
F(4) 4121
F(7) 7412131

Ответ

7412131

Назад

Благодарим за то, что пользуйтесь нашими публикациями. Информация на странице «Решение. Задание 11. Досрочный ЕГЭ 2020 года, Информатика» подготовлена нашими авторами специально, чтобы помочь вам в освоении предмета и подготовке к ЕГЭ и ОГЭ. Чтобы успешно сдать нужные и поступить в ВУЗ или колледж нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий. Также вы можете воспользоваться другими статьями из разделов нашего сайта.

Публикация обновлена: 08.05.2023