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

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

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

  • Пишем функцию для поиска простых чисел и
    поэтапно оптимизируем её в двух направлениях.
  • Дата отправки отчёта: 5 апреля 2016 г.
  • Задание выполнено: за 2 час. 30 мин.
  • Чему научился: Получать простые числа разными методами, тестировать функции с помощью делегатов.
  • Что было сложным: Сложного ничего не было.  Я же смотрел в записи. )
  • Комментарии: Очень было много полезного.
    Интересным было применение делегатов, для передачи в качестве аргумента целую функцию.
    Понял как надо тестировать код. В первую очередь ставим временные ограничения, а не количественные. Так получаем измеримый и предсказуемый до секунды результат. Также на вооружение взял функцию проверки функций. )

    Единственно, мне не понравилось, что было создана куча однотипных функций. Мы передаем значение number, потом внутри этих функций вычисляем number/2, sqrt(number) и т.п. когда можно было как минимум 6 таких функций заменить одной, передавая уже вычисленные значения и урок бы по времени меньше вышел. Но это никак не ухудшает моего впечатления от урока.

    При написании функции поиска простых чисел с помощью решета Эратосфена воспользовался тем, что при такой записи int[ ] arr_int = new int[n]; элементы массива по умолчанию нули, чтобы не устанавливать значения в цикле.
  • Оценка видео-уроку:
Отчёт от 9752 за Комбинаторика / VIP. Простые числа. Оптимизация алгоритма


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




Оцени работу

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


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




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

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

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

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