РУҚА
16

Рекурсивный вывод чисел

ЕГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИA75BAEКороткий ответ≈ 5 минутОтвет сверен с ключом

Ниже на пяти языках программирования записан рекурсивный алгоритм $F$. При $n > 0$ алгоритм сначала вызывает $F(n - 3)$, затем $F(\lfloor n / 2 \rfloor)$, после чего выводит значение $n$. Запишите подряд без пробелов и разделителей все числа, которые будут выведены на экран при выполнении вызова $F(7)$. Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

Python
1def F(n):
2    if n > 0:
3        F(n - 3)
4        F(n // 2)
5        print(n)
Условие как в банке ФИПИ — открыть и сверить
Впишите правильный ответ.

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

Бейсик

Python

SUB F(n)

IF n > 0 THEN

F(n - 3)

F(n \ 2)

PRINT n,

END IF

END SUB

def F(n):

if n > 0:

F(n - 3)

F(n // 2)

print(n)

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

Паскаль

алг F(цел n)

нач

если n > 0 то

F(n - 3)

F(div(n, 2))

вывод n

все

кон

procedure F(n: integer);

begin

if n > 0 then

begin

F(n - 3);

F(n div 2);

write(n)

end

end;

С++

void F(int n){

if (n > 0){

F(n - 3);

F(n / 2);

std::cout << n;

}

}

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



Ваш ответ

Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.

!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, когда прочитан предыдущий, — чтобы не перепрыгнуть сразу к ответу.
1Мягкая — с чего смотретьуровень 1 из 3

В каком порядке выполняются два рекурсивных вызова и вывод текущего значения?

2Наводящая — какие числа считатьуровень 2 из 3

Для каждого положительного $n$ сначала вычисляются $F(n - 3)$ и $F(\lfloor n / 2 \rfloor)$, а число $n$ выводится последним.

3Прямая — фактически решениеуровень 3 из 3

Получите: $F(1) = 1$, $F(2) = 12$, $F(4) = 1124$, $F(3) = 13$, поэтому $F(7) = 1124137$.

Всё равно не складывается?Полное решение с обоснованием каждого шага — на отдельной странице.
Открыть решение

Задание 16 ЕГЭ, информатика

Задача из темы «Основы программирования»: в ней 160 задач с ответом и разбором по шагам. В 16-м номере бланка — 74 задачи.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.