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

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

Комбинаторика / VIP. Простые числа. Оптимизация алгоритма

  • Пишем функцию для поиска простых чисел и
    поэтапно оптимизируем её в двух направлениях.
  • Дата отправки отчёта: 8 августа 2016 г.
  • Задание выполнено: за 3 час. 10 мин.
  • Чему научился: Практиковался с алгоритмами поиска простых чисел, реализовал "решето Эратосфена", повторил работу с модульными тестами.
  • Что было сложным: Сложностей не было, в основном мелкие ошибки типов данных и границ поиска.
  • Комментарии: Проверку функций реализовал с помощью модульных тестов библиотеки boost. Опробовал создание функций isPrime* через некое подобие TDD. Поначалу было трудно привыкнуть, но в итоге понравилось, больше уверенности в работоспособности своего кода.

    Выполнил проверку скорости работы функций, как было предложено в уроке, за определенное время: странно, функция isPrimeSqrtP оказалась медленнее, чем ожидалось. Реализовал алгоритм "решето Эратосфена", для ее проверки выбрал другой способ: задаю максимальное число и засекаю время выполнения функций. Результат удивил, алгоритм Эратосфена и isPrimeSqrtP проиграли по времени isPrimeSqrt3. При бОльших границах интервала поиска отставание уменьшается, я полагаю проблема в реализации алгоритма.

    Урок понравился, поработал с консолью, тестами, оптимизацией, реализацией алгоритма. Спасибо!:)
  • Оценка видео-уроку:
Отчёт от 7276 за Комбинаторика / VIP. Простые числа. Оптимизация алгоритма


Отчёт от 7276 за Комбинаторика / VIP. Простые числа. Оптимизация алгоритма




Оцени работу

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

1. Евгений Витольдович
Евгений Витольдович
ответить
→  Ильшат  # Комбинаторика / VIP. Простые числа. Оптимизация алгоритма / 2016-08-09 01:16

Возможно, проблема в долгом подсчёте квадратного корня?


  • Отчёт оценивали:
    7119Новопашин Владимир+1   689Igorenzia+1   10494Алексей В.+1   9263Андрей Н.+1   6940sawezx0   4699Сергей Витальевич+1   4992Николай+1   5649Максим Лапшинов+1   3506Алексей|BrisK|Кривицкий+1   5760Мариша +1   4004Елена+1   791Валерий+1   10938Esentur 0   459Сергей Сергеевич+1   9971Юрий+1   10670Сергей Соколов+1   1Евгений Витольдович+1   3747Сергей+1   392Евгений0   8275Tekashnik+1   4395Денис+1   10671Александр Б.+1   4715Alex0   9237Mais+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.

Научился: Стало понятнее куда можно применить делегаты. Оптимизации нет предела, но всё-таки хорошо, если можно сравнить результаты "до" и "после". Потому, что часто круче, не значит лучше или быстрее. Решето Эратосфена, к своему стыду, никогда ранее не встречала.
Трудности: Вовремя останавливать себя от попыток написать в чат (потому, что запись же! Семён Семёныч XDD). Очень хотелось написать как раз там, где надо было добавить "primes.Add(number);" - не саму строку, а именно логичный вопрос, почему мы не добавили найденное число.
Очень хорошо, что есть записи, так как вживую вебинары не позволяет смотреть скорость интернета в стране проживания. СПАСИБО! Сколько не слушай и не смотри, а настоящее понимание приходит в момент собственноручного написания. Очень интересно сравнивать быстродействие алгоритмов. И ещё данных со своего компьтера и других - протестировала програмку на работе на всех доступных PC - пока коллеги нашим айтишникам не позвонили, подозревая диверсию.