You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 2, 2020. It is now read-only.
Требуется разработать консольное приложение, работающее с классом-контейнером простых чисел.
Три режима поиска простых чисел:
Поиск простых чисел в диапазоне с верхней границей – задается максимальное значение, до которого рассчитываются и запоминаются простые числа, начиная с 1.
Поиск определенного количества простых чисел – задается количество простых чисел, начиная с 1, которые требуется рассчитать и запомнить.
Поиск простых чисел без верхней границы.
Два режима вывода:
В файл
В консоль
Выбор последовательности специальных простых чисел. Контейнер содержит все найденные простые числа, но печататься (в консоль или файл) должны не все числа, а только те, которые входят в последовательности специальных простых чисел, например, «Суперпростые числа», «Простые числа Софи Жермен». Требуется поддержать минимум 2 специальные последовательности. По умолчанию печатаются все простые числа. Функция для проверки принадлежности простого числа специальной последовательности должна быть реализована в виде Лямбда-функции. Описание последовательностей специальных простых чисел: Википедия.
Требуется получать статистику: как меняется скорость поиска простых чисел, как растет объем памяти, необходимый для поиска. Эти показатели должны выводится в файл. Для каждого нового расчета пишется своя строка. Формирование статистики включается опцией командной строки, в которой указывается имя файла, в который сохраняется статистика.
Требуется оптимизировать объем используемой памяти
Проект должен компилироваться с использованием make и g++.
При написании задания необходимо использовать стандарт C++ 11.
Код должен быть задокументирован с использованием синтаксиса doxygen.
Решение фиксируется на github. История коммитов должна отражать процесс разработки.
Обязательно наличие тестов для интерфейса класса. Тестовое покрытие должно быть максимальным. Использование gtest приветствуется. Тесты должны учитывать необходимое количество сценариев работы с классом. При этом ожидается, что на положительных сценариях класс будет работать, а на отрицательных - давать ожидаемые ошибки, а не вести себя непредсказуемо.
В процессе работы, программа должна выводить информативные сообщения в консоль.