|
0 / 0 / 0
Регистрация: 30.10.2017
Сообщений: 33
|
||||||
Следует выбрать эффективный алгоритм (по времени) теста простоты числа09.11.2017, 06:16. Показов 1467. Ответов 7
Метки нет (Все метки)
Следует выбрать эффективный алгоритм (по времени) теста простоты числа.
На исследование вам дается два алгоритма: 1. Перебор делителей числа (Проверяем все числа от 2 до n-1 делят ли они заданное число n), 2. Ограниченный перебор делителей числа (Проверяем числа от 2 до делят ли они заданное число n). Необходимо: 1. Реализовать данные алгоритмы, 2. Исследовать их и 3. Составить отчет. Как исследовать алгоритмы? Конечно, перед тем как исследовать алгоритм нужно его реализовать. Далее, вы должны запустить свои программы как минимум 5 раз для каждого набора входных данных (в данной не менее 5 раз для N.1, 5 раз для N.2 и 5 раз для N.3, где N – номер вашего варианта). При каждом запуске вам необходимо измерять, сколько времени потребуется алгоритму для решения задачи (т.е. у вас будет 5 измерений для N.1, 5 измерений для N.2 и 5 измерений для N.3, по каждому алгоритму). Далее находите средние арифметические значения для каждого входного параметра (для N.1, N.2 и N.3) отдельно для первого и второго алгоритмов. По этим средним значениям вы строите график зависимости времени работы алгоритма от величины числа (для первого и второго алгоритма отдельно). Изучая эти графики вы и должны строить ваши выводы и суждения. Подсказки: 1. Для больших входных данных, например, для 2-го и 3-го наборов, лучше использовать тип данных long long или __int64. 2. Для измерения времени работы алгоритма использовать функцию clock() (header file – сtime). Пример измерения длительности работы цикла:
1. Общая информация о работе, т.е. должны быть даны ответы на следующие вопросы: «о чем эта работа?», «какие алгоритмы были исследованы?». 2. Описание алгоритмов: Здесь вы должны привести словесное описание, блок схемы всех алгоритмов, которые вы реализовали. 3. Описание тестовых данных, т.е. ответы на следующие вопросы: «Какие тестовые данные вы использовали?», «Почему именно такие?». И должны привести сами тесты (наборы данных). 4. Результаты исследований. Здесь вы должны привести результаты ваших измерений. Обычно сравнивают средние значения показателей нескольких прогонов программ. Следовательно, нужно запустить программу минимум 5 раз с различными входными данными одного типа и объема и сравнивать средние арифметические значения. 5. Выводы. Ваши соображения и суждения, основанные на полученных результатах. 6. Исходные коды программ. Входные данные 1 7358 2 800000019043 3 373865754898010773
0
|
||||||
| 09.11.2017, 06:16 | |
|
Ответы с готовыми решениями:
7
Предложить эффективный алгоритм умножения числа на дробь в длинной арифметике
Эффективный алгоритм для задачи |
|
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
|
|
| 09.11.2017, 06:56 | |
|
Интересная задача, всё разжевано. Что от нас то требуется? Написать программу, вывести графики и отчет составить?
0
|
|
|
0 / 0 / 0
Регистрация: 30.10.2017
Сообщений: 33
|
|
| 09.11.2017, 07:04 [ТС] | |
|
Скорее всего да
0
|
|
| 09.11.2017, 07:36 | |
|
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 09.11.2017, 09:53 | ||
|
И на первый взгляд видно, что алгоритм 1 - очень плох. Видимо, целью задания и является наглядная демонстрация этого факта.
0
|
||
|
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
|
||
| 09.11.2017, 13:48 | ||
|
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 09.11.2017, 14:07 | ||
|
А так все зависит от того, что именно нужно. Если проверить одно число - самое простое - деление на все k от 2 до k*k <=n. Если составлять список простых, то решето Эратосфена. Все эти подходы могут быть по разному модифицированы. Вот тут довольно плодотворное обсуждение Быстрая проверка натурального числа на простоту
0
|
||
|
571 / 353 / 133
Регистрация: 15.09.2017
Сообщений: 1,239
|
||||
| 09.11.2017, 14:30 | ||||
|
0
|
||||
| 09.11.2017, 14:30 | |
|
Помогаю со студенческими работами здесь
8
Эффективный алгоритм перетасовки элементов массива
Эффективный алгоритм поиска простых чисел на С++
Алгоритм на проверку простоты суммы двух положительных чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|