Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович

Комбинаторика / Комбинаторика. Счастливые билеты N

  • На этом уроке мы рассмотрим
    два основных способа решения комбинаторных задач:
    Первый способ - когда известно количество объектов - вложенные циклы.
    Второй способ - любое количество объектов - использование рекурсии.

    Задание:
    Решить задачу «Счастливые билеты N».
    Скачать книжку для чтения по комбинаторике:
    Как решать комбинаторные задачи.
  • Дата отправки отчёта: 1 июня 2015 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: Решать задачу счастливые билеты N использую рекурсию.
  • Что было сложным: Ничего, пока вроде все понятно.
  • Комментарии: Интересно было посмотреть на оптимизацию алгоритма.
  • Оценка видео-уроку:
Отчёт от 4676 за Комбинаторика / Комбинаторика. Счастливые билеты N




Оцени работу

 
Сохранить страницу:


Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: 1) Закрепил навыки работы с рекурсией; 2) Познакомился с интересным вариантом вызова рекурсивной функции в цикле; 3) Поработал с оптимизацией алгоритма, перенос локальных переменных в область определения класса хоть и не имеет логической полезности, но дает прирост в производительности.
Трудности: Материал хорошо объясняется, сложностей не было.
Хороший урок, мне понравился, понятны плюсы и минусы рекурсии. Тест N=5 не прошел по тайм-ауту, поэтому, как и предложил Евгений Витольдович, посчитал в Visual Studio (второй скриншот) количество счастливых билетов при N=5 и указал в коде полученное значение.
Научился: Решать задачу счастливые билеты для 2*n-значных номеров через рекурсию, оптимизировать задачи с рекурсиями.
Трудности: Придумать как еще оптимизировать.
Надо попробовать до 10 знаков через циклы с условиями решить и сравнить результаты. И наверняка можно что-то типа макросов использовать чтоб свернуть код.