Логотип сайта

Подготовка к ЕГЭ и ОГЭ

  • Главная
  • Информация о сайте
  • Сочинения ЕГЭ
  • Выпускное сочинение
  • Поиск по сайту

Дан рекурсивный алгоритм. Сколько символов "звездочка" будет...

Категория: Язык программирования: Паскаль

Задание:

Дан рекурсивный алгоритм:


procedure F(n: integer);
begin
 writeln('*');
 if n > 0 then begin
 F(n-2);
 F(n div 2)
 end
end;
 

Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(7)?

Решение:

Решение с помощью дерева:

В этом примере на экран выводятся не значения параметра n, а символ *

Подсчитав количество «звездочек», получаем 21

Решение без дерева:

Решим задачу без дерева. Пусть S(n) – это количество «звездочек»,  которые будут выведены при вызове F(n).Тогда

Нам нужно узнать S(7):

S(7)=1+S(5)+S(3)
S(5)=1+S(3)+S(2)
S(3)=1+S(1)+S(1)
S(2)=1+S(0)+S(1)=1+1+S(1)=2+S(1)
S(1)=1+S(-1)+S(0)=1+1+1=3

Делаем обратный ход:

S(2)=2+3=5
S(3)=1+3+3=7
S(5)=1+7+5=13
S(7)=1+13+7=21

Ответ: 21

Похожие материалы
  • Определите, по какой из масок.. Подготовка к ЕГЭ (ИКТ)
  • Сколько единиц в двоичной записи десятичного числа 514?
  • Чем отличается позиционная система счисления..
  • Подготовка к ЕГЭ по информатике. Основы логики.
  • Сколько единиц в двоичной записи?
  • Напишите программу, печатающую значение EOF (Си)
  • А – множество четных чисел, В – множество двузначных чисел, С...
  • 1
  • 2
  • 3
  • 4
  • 5
Оценка: 2.3 из 9

💬 Чат ЕГЭ В Telegram. Вступить

Copyright Vopvet.Ru © 2025 Хостинг от uWeb