Дан рекурсивный алгоритм: procedure f(n: integer ); begin writeln ('*'); if n> 0 then begin f (n-3); f ( n div 2); end end; сколько символов "звездочка" будет напечатано на экране при выполнении вызова f (7)?
159
281
Ответы на вопрос:
Пусть k(n) - количество звездочек, напечатанных при вызове f(n) тогда k(n) = 1 { writeln('*') } + k(n-2) {вызов f(n-2) -> печатается еще k(n-2) звездочек} + k(n div 2) {f(n div 2)} при n > 0 и k(n) = 1 при n < = 0 требуется найти k(7) k(7) = 1 + k(5) + k(3) k(5) = 1 + k(3) + k(2) k(3) = 1 + k(1) + k(1) k(2) = 1 + k(0) + k(1) k(1) = 1 + k(-1) + k(0) k(0) = k(-1) = 1 {0, -1 < = 0} k(1) = 1 + 1 + 1 = 3 k(2) = 1 + 1 + 3 = 5 k(3) = 1 + 3 + 3 = 7 k(5) = 1 + 7 + 5 = 13 k(7) = 1 + 13 + 7 = 21 ответ: 21
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
leramailvorob05.11.2020 18:58
-
25Виктория0315.05.2022 08:19
-
Jessicacoen10.03.2023 02:53
-
Лана123456789101112.03.2020 11:20
-
CrasH199003.11.2022 13:33
-
mail000alomer23.06.2023 21:17
-
muslim3828.05.2021 16:08
-
Приветикэтоя15.10.2021 13:40
-
kitiry07.03.2022 08:55
-
vanyanazarenko101.09.2022 02:36
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.