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

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

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

Дан рекурсивный алгоритм. Найдите сумму чисел, которые...

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

Задание:

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


procedure F(n: integer);
begin
 writeln(n);
 if n < 6 then begin
 F(n+2);
 F(n*3)
 end
end;
 

Найдите сумму чисел, которые будут выведены при вызове F(1).

Решение:

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

Начинаем с единицы и строим дерево до тех пор, пока выполняется условие n < 6.

Складывая все эти числа, получаем 79

Более подробное решение аналогичной задачи - здесь.

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

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


Выполняем вычисления:

S(1) = 1 + S(3) + S(3)
S(3) = 3 + S(5) + S(9) = 12 + S(5)
S(5)=5 + S(7) + S(15) = 5 + 7 + 15 = 27

Делаем обратный ход:
S(3) = 12 + 27 = 39
S(1) = 1 + 39 + 39 = 79

Ответ: 79

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

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

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