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

Формула программиста
основатель — Волосатов Евгений Витольдович
Большой Новогодний подарок от Игромистра
Безденежный доступ к видеокурсам за Мегахеши

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

  • Пишем функцию для поиска простых чисел и
    поэтапно оптимизируем её в двух направлениях.
  • Дата отправки отчёта: 13 сентября 2016 г.
  • Задание выполнено: за 2 час. 55 мин.
  • Чему научился: Научился проверять простые числа разными методами и проверять их эффективность.
  • Что было сложным: Ничего.
  • Комментарии: Супер бонус и тренировка для ума и еще раз делегаты повторил.
  • Оценка видео-уроку:
Отчёт от 7119 за Комбинаторика / VIP. Простые числа. Оптимизация алгоритма




Оцени работу

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

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

Отлично, Владимир! Рада Вашим успехам!


10558. Иван Воронин
Иван Воронин
ответить
→  Новопашин Владимир  # Комбинаторика / VIP. Простые числа. Оптимизация алгоритма / 2016-09-13 19:05

Да, комбинаторика отличный курс, сподвигший на создание уникального видео-отчёта =)


10670. Сергей Соколов
Сергей Соколов
ответить
→  Новопашин Владимир  # Комбинаторика / VIP. Простые числа. Оптимизация алгоритма / 2016-09-13 10:29

Главное что все в удовольствие! =)


  • Отчёт оценивали:
    10157Кирилл Лебедев+1   10670Сергей Соколов+1   459Сергей Сергеевич+1   1Евгений Волосатов+1   4699Сергей Витальевич+1   10759Виталя+1   Посетитель+1   7119Новопашин Владимир+1   10494Алексей В.+1   10558Иван Воронин+1   8959Максим Саратов+1   10673Алексей Хонин+1   5649Максим Лапшинов+1   7980Сергей Лузум+1   4467Alcatraz+1   6452Кирилл Шмойлов+1   4004Елена+1   8886Михаил Ермишин+1   4395Денис+1   10892Sergio+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Получать простые числа разными методами, тестировать функции с помощью делегатов.
Трудности: Сложного ничего не было. Я же смотрел в записи. )
Очень было много полезного. Интересным было применение делегатов, для передачи в качестве аргумента целую функцию. Понял как надо тестировать код. В первую очередь ставим временные ограничения, а не количественные. Так получаем измеримый и предсказуемый до секунды результат. Также на вооружение взял функцию проверки функций. ) Единственно, мне не понравилось, что было создана куча однотипных функций. Мы передаем значение number, потом внутри этих функций вычисляем number/2, sqrt(number) и т.п. когда можно было как минимум 6 таких функций заменить одной, передавая уже вычисленные значения и урок бы по времени меньше вышел. Но это никак не ухудшает моего впечатления от урока. При написании функции поиска простых чисел с помощью решета Эратосфена воспользовался тем, что при такой записи int[ ] arr_int = new int[n]; элементы массива по умолчанию нули, чтобы не устанавливать значения в цикле.
Научился: Практиковался с алгоритмами поиска простых чисел, реализовал "решето Эратосфена", повторил работу с модульными тестами.
Трудности: Сложностей не было, в основном мелкие ошибки типов данных и границ поиска.
Проверку функций реализовал с помощью модульных тестов библиотеки boost. Опробовал создание функций isPrime* через некое подобие TDD. Поначалу было трудно привыкнуть, но в итоге понравилось, больше уверенности в работоспособности своего кода. Выполнил проверку скорости работы функций, как было предложено в уроке, за определенное время: странно, функция isPrimeSqrtP оказалась медленнее, чем ожидалось. Реализовал алгоритм "решето Эратосфена", для ее проверки выбрал другой способ: задаю максимальное число и засекаю время выполнения функций. Результат удивил, алгоритм Эратосфена и isPrimeSqrtP проиграли по времени isPrimeSqrt3. При бОльших границах интервала поиска отставание уменьшается, я полагаю проблема в реализации алгоритма. Урок понравился, поработал с консолью, тестами, оптимизацией, реализацией алгоритма. Спасибо!:)