На этом уроке мы рассмотрим два основных способа решения комбинаторных задач: Первый способ - когда известно количество объектов - вложенные циклы. Второй способ - любое количество объектов - использование рекурсии.
Чему научился:
Закрепил знания по рекурсии и вспомнил комбинаторику.
Что было сложным:
Догадаться до оптимизации.
Комментарии:
Я сделал 4 функции после каждого способа: EasyTicket() - самый простой способ перебора, Next() - первая рекурсия, NextMode() - вторая рекурсия, где последняя цифра считается по-другому и NextMode2(), где уже смотрим, куда добавляем посл. цифру. Кода много, но лучше запомнится ;)
Архив проекта:Ссылка доступна после самостоятельного выполнения этого урока
Научился: Познакомился с практическим применением рекурсии. Ближе узнал что такое комбинаторика и какие способы есть для отптимального решения разных комбинаторных задач. Трудности: Нисразу понял алгоритм через рекурсию как мы проходим по цифрмам и суммируем их. Отладка все таки сильная вещь.
Научился: Делать программку, которая считает, сколько счастливых билетиков будет при N-значном числе. Урок классный!!! Спасибо : )
Начала читать эту книжку по комбинаторике, мне она уже понравилась: всё очень интересно написано : )