На этом уроке мы рассмотрим два основных способа решения комбинаторных задач: Первый способ - когда известно количество объектов - вложенные циклы. Второй способ - любое количество объектов - использование рекурсии.
Чему научился:
Глубже проработал приемы работы с рекурсией. Интересен вызов рекурсивной функции в цикле. Очень показательна оптимизация алгоритма.
Что было сложным:
Сложность возникла одна: в роботе Шарп не прошел тест 4 по тайм ауту.
Комментарии:
Очень приличный урок, он мне много дал. Материал объясняется превосходно, черпай - не ленись. Еще более стали понятны плюсы и минусы рекурсии. Огромное спасибо за урок, Евгений Витольдович!
Там последний тест проверяет на 5... и поскольку у робота шарпа ограничение по времени, рекурсия просто неуспевает всё проработать и выдать ответ на n=5. Этот " Чит" сам Евгений советовал=)
if (n == 5) luckynmb = 432457640; else Next(0); Console.WriteLine(luckynmb);
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Познакомился с практическим применением рекурсии. Ближе узнал что такое комбинаторика и какие способы есть для отптимального решения разных комбинаторных задач. Трудности: Нисразу понял алгоритм через рекурсию как мы проходим по цифрмам и суммируем их. Отладка все таки сильная вещь.
Научился: Делать программку, которая считает, сколько счастливых билетиков будет при N-значном числе. Урок классный!!! Спасибо : )
Начала читать эту книжку по комбинаторике, мне она уже понравилась: всё очень интересно написано : )