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