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

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Итератор / VIP. Оптимизация поиска простых чисел

  • Пишем функцию для поиска простых чисел и
    поэтапно оптимизируем её в двух направлениях.
  • Дата отправки отчёта: 5 апреля 2017 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: Повторил пройденное
  • Что было сложным: найти время
  • Комментарии: Так как данный урок уже делал прошлым летом во время прохождения курса: "Комбинаторика", то чтобы просто не копипастить, решил доработать тогдашние наработки по поводу "решета Эратосфена". Реализовал два варианта, один с использованием массива, другой при помощи списка. Как видно из скриншота, они в самом конце, скорость у них оставляет желать лучшего. Квадратный корень явно быстрее всех.
  • Оценка видео-уроку:
Отчёт от 10558 за Итератор / VIP. Оптимизация поиска простых чисел




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Иван Воронин  # Итератор / VIP. Оптимизация поиска простых чисел / 2017-04-05 10:51

так вроде решето должно было быть быстрым.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Евгений Волосатов  # Итератор / VIP. Оптимизация поиска простых чисел / 2017-04-05 16:20

Ну вот что-то не очень оно быстрое оказалось. Может быть особенность языка, надо будет проверить на Java, по идее другая скорость будет, а может быть потому, что каждый раз пересоздаётся массив, надо будет его сделать глобальным и сразу максимального размера, может ускориться, я только два простых вариант реализовал, с глобальным массивом не проверял кстати.


1901. --
Neverwinter 2
Neverwinter 2
ответить
→  Иван Воронин  # Итератор / VIP. Оптимизация поиска простых чисел / 2017-04-29 12:38

У меня тоже решето тормоз какой-то получилось.



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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: Находить простые числа всё более быстрыми алгоритмами
Делал уже когда то давно, теперь повторил))


Научился: Познакомился с алгоритмами поиска простых чисел и со способами их оптимизации. Научился замерять время работы функции.
Трудности: Создать решето Эратосфена. В инете нашел готовое решение, но там так интересно сделано, через индексы массива числа задаются, и в каких ячейках нули, те индексы не пишем... Я решил сделать по своему... может и зря.
1. Я попробовал добавить таймер. У меня получилось. Но метод, предложенный Евгением Витольдовичем удобнее, проще для понимания. Можно к нему добавить последнее найденное простое число. 2. Я запускаю два раза первую функцию is_prime_each_by_0 .... но опять же было интересно узнать о "запуске в середине секунды"... 3. "Он искал только четные числа... Я думал хоть кто-нибудь это заметит" ... Я заметил. Сразу видна подстава. Просто на вебинаре экшн, а я в записи смотрю, холодной головой думаю... (ну и опытный уже немножко))) 4. Способ, созданный на вебинаре перебирает куда быстрее, чем мой эратосфен, поэтому я не буду его показывать. (тем более это дополнительное задание). Ну а вообще всё работает. 5. Классный вебинар и..... такое чувство, что я его когда уже видел...