Создан заказ №3963199
8 мая 2019
Реализация алгоритма решето Эратосфена с использованием битовых полей
Как заказчик описал требования к работе:
В ходе работы требуется реализовать алгоритм "решето Эратосфена", который решает задачу поиска всех простых чисел, не превосходящих заданного числа N.
Описание алгоритма:
Выписать все целые числа от 2 до N.
p = 2
Вычеркнуть из списка все числа, которые больше p и делятся на p (2p, 3p, ...).
Присво
ить p значение следующего невычеркнутого числа.
Повторять шаги 3, 4 пока в списке есть числа, превосходящие текущее значение p.
После завершения работы алгоритма в списке останутся все простые числа, не превосходящие N.
Для хранения списка чисел будем использовать битовое поле. Каждому числу соответствует свой бит. Если бит ненулевой, то соответствующее ему число считается невычеркнутым из списка.
Битовое поле требуется реализовать в виде отдельного класса. Каждый элемент поля должен занимать один бит физической памяти. Требования к интерфейсу битового поля:
конструктор, принимающий количество элементов поля;
bool& operator[](size_t idx) - метод для доступа к заданному элементу поля по индексу;
size_t size() const - метод возвращает количество элементов поля;
size_t nonzero_count() const - метод возвращает количество ненулевых элементов;
На вход программная реализация лабораторной работы получает число N, на выходе записывает файл, в котором перечислены через запятую все простые числа, не превосходящие N. Пример файла можно найти в прикрепленных файлах (этот же файл можно использовать для проверки корректности реализации решета)
подробнее
Заказчик
заплатил
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
9 мая 2019
Заказ завершен, заказчик получил финальный файл с работой
5
Реализация алгоритма решето Эратосфена с использованием битовых полей.docx
2019-05-12 07:10
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
По моей просьбе работа была сдана намного раньше срока, автор не только поправил, но и добавил понятные комментарии, что я смогла разобраться, что и как. Огромное спасибо!