В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
mrstrygin00owizqu
mrstrygin00owizqu
28.05.2020 07:04 •  Информатика

Дан рекурсивный алгоритм:
def F( n ):
print( '*' )
if n > 0:
F( n-2 )
F( n // 2 )
Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(7)?

Показать ответ
Ответ:
EvaTV
EvaTV
15.04.2020 12:30

gfegev

Объяснение:

0,0(0 оценок)
Ответ:
barinova6
barinova6
15.04.2020 12:30

Объяснение:

подумай овррклуокоокококоокок

0,0(0 оценок)
Ответ:
СуПерКотАйН
СуПерКотАйН
09.01.2024 12:40
Чтобы решить эту задачу, давайте разберемся в работе данного рекурсивного алгоритма по шагам.

Для начала, вызываем функцию F(7).

Шаг 1:
Печатаем символ "*".
Теперь n = 7.
Вызываем функцию F(7-2), то есть F(5).

Шаг 2:
Печатаем символ "*".
Теперь n = 5.
Вызываем функцию F(5-2), то есть F(3).

Шаг 3:
Печатаем символ "*".
Теперь n = 3.
Вызываем функцию F(3-2), то есть F(1).

Шаг 4:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).

Шаг 5:
n = -1 <= 0, поэтому выходим из функции.

При этом, символ "*" был напечатан 4 раза.

Теперь возвращаемся к последнему невыполненному вызову функции F(1).

Шаг 5 (повтор):
n = 1 // 2, поэтому вызываем функцию F(0).

Шаг 6:
Печатаем символ "*".
Теперь n = 0.
Выходим из функции F(0).

Теперь возвращаемся к предыдущему невыполненному вызову функции F(1).

Шаг 6 (повтор):
n = 1 // 2, поэтому вызываем функцию F(0).

Шаг 7:
Печатаем символ "*".
Теперь n = 0.
Выходим из функции F(0).

Теперь возвращаемся к предыдущему невыполненному вызову функции F(3).

Шаг 4 (повтор):
n = 3 // 2, поэтому вызываем функцию F(1).

Шаг 5:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).

Шаг 5 (повтор):
n = -1 <= 0, поэтому выходим из функции.

Теперь возвращаемся к предыдущему невыполненному вызову функции F(3).

Шаг 5 (повтор):
n = 3 // 2, поэтому вызываем функцию F(1).

Шаг 6:
Печатаем символ "*".
Теперь n = 1.
Вызываем функцию F(1-2), то есть F(-1).

Шаг 7:
n = -1 <= 0, поэтому выходим из функции.

Теперь возвращаемся к предыдущему невыполненному вызову функции F(5).

Шаг 6 (повтор):
n = 5 - 2, поэтому вызываем функцию F(3).

...

Продолжаем подобным образом до завершения алгоритма.

Таким образом, нам нужно посчитать, сколько раз был напечатан символ "*".
Обращаясь к нашим шагам, мы видим, что символ "*" был напечатан 4 раза.

Итак, при выполнении вызова F(7) будет напечатано 4 символа "звездочка".
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота