![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
If n < 6 then beginСтр 1 из 3Следующая ⇒
Begin writeln(n); If n < 5 then begin F(n + 1); F(n + 3) End end; Найдите сумму чисел, которые будут выведены при вызове F(1). Решение (вариант 1, построение дерева вызовов): 1) поскольку в начале каждого вызова на экран выводится значение единственного параметра функции, достаточно определить порядок рекурсивных вызовов и сложить значения параметров 2) поскольку при 3) складывая все эти числа, получаем 49 4) ответ: 49. Решение (вариант 2, подстановка): 1) можно обойтись и без дерева, учитывая, что при каждом вызове с n < 5 происходит два рекурсивных вызова; сумму чисел, полученных при вызове 2) выполняем вычисления: 3) теперь остаётся вычислить ответ «обратным ходом»: 4) 5) Ответ: 49. Ещё пример задания: Дан рекурсивный алгоритм: procedure F(n: integer); Begin writeln(n); if n < 6 then begin F(n+2); F(n*3) End end; Найдите сумму чисел, которые будут выведены при вызове F(1). Решение (вариант 1, метод подстановки): 6) сначала определим рекуррентную формулу; обозначим через G(n) сумму чисел, которая выводится при вызове F(n) 7) при n > = 6 процедура выводит число n и заканчивает работу без рекурсивных вызовов: G(n) = n при n > = 6 8) при n < 6 процедура выводит число n и дважды вызывает сама себя: G(n) = n + G(n+2) + G(3n) при n < 6 9) в результате вызова F(1) получаем G(1) = 1 + G(3) + G(3) G(3) = 3 + G(5) + G(9) = 3 + G(5) + 9 G(5) = 5 + G(7) + G(15) = 5 + 7 + 15 = 27 10) используем обратную подстановку: G(3) = 3 + G(5) + 9 = 3 + 27 + 9 = 39 G(1) = 1 + 2*G(3) = 79 11) Ответ: 79. Решение (вариант 2, динамическое программирование): 1) п. 1-3 такие же, как в первом варианте решения 2) заполняем таблицу G(n) при n > = 6 (где G(n) = n) Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
3) остальные ячейки заполняем, начиная с n = 5 справа налево, используя формулу: G(n) = n + G(n+2) + G(3n)
4) ответ читаем в самой левой ячейке 5) Ответ: 79. Пример задания: Дан рекурсивный алгоритм: procedure F(n: integer); Begin writeln('*');
|