|
2 / 2 / 1
Регистрация: 01.05.2013
Сообщений: 109
|
||||||
Эффективный алгоритм поиска простых чисел на С++02.05.2013, 11:41. Показов 15984. Ответов 94
Метки нет (Все метки)
Хотел написать функцию которая вычисляет простое число или сложное, но оно не вычисляется. Цикл который я добавил в функцию не работает. Можете подсказать почему??? Заранее спасибо.
Простое число - которое делится на 1 и на само себя, сложное число-которое делится на 1 и на само себя и на какое-то еще число, 5 -простое число, 10-сложное число. P.S. Вот программа:
0
|
||||||
| 02.05.2013, 11:41 | |
|
Ответы с готовыми решениями:
94
Алгоритм поиска простых чисел Алгоритм поиска n простых чисел
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 17:25 | |
|
0
|
|
|
|
|||||||
| 02.05.2013, 17:33 | |||||||
|
Это чтоб проскакивать нормально по 80 чисел, в спешке паузу не довёл
NaikoN, надеюсь ты зайдёшь и посомтришь пост 19 Добавлено через 1 минуту Итак Ternsip, приступим , покажи мне пожалуйста свой завершённый код проверки простого сложного числа, жду
1
|
|||||||
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 17:35 | |
|
-=ЮрА=-, оооо, спасибо)
тогда проверьте отдельно для числа 9999999900000001 на тесте Миллера Рабина, котый я в начале привёл Добавлено через 17 секунд -=ЮрА=-, ща
0
|
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
||||||||||||||||
| 02.05.2013, 18:05 | ||||||||||||||||
|
-=ЮрА=-, вот
-=ЮрА=-, вот немного доработал
-=ЮрА=-, вот ещё доработал
-=ЮрА=-, если придумаете алгоритм много быстрее, то может удостоитесь награды и похвалы выше чем сам http://ru.wikipedia.org/wiki/%... 1%80%D0%B8 Добавлено через 3 минуты -=ЮрА=-, и, естественно, что решетом Эратосфена, блочным и другими нельзя пользоваться, это читы
0
|
||||||||||||||||
|
2 / 2 / 1
Регистрация: 01.05.2013
Сообщений: 109
|
|
| 02.05.2013, 18:11 [ТС] | |
|
-=ЮрА=-,Ternsip, Молодцы, я бы такое не написал
0
|
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 18:19 | |
|
PS прекальк "преподсчётом" тоже нельзя пользоваться.
Добавлено через 2 минуты -=ЮрА=-, ну и на всякий случай, если у меня прога всё же будет лагать, хоть я и сомневаюсь, то в return MillerRabin(c, 19); поставьте 10 вместо 19
0
|
|
|
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,333
|
|
| 02.05.2013, 18:31 | |
|
Ternsip у вашей первой программы при запуске выскакивает ошибка.
0
|
|
|
|
|||||||||||
| 02.05.2013, 18:50 | |||||||||||
|
Ternsip, скриншоты и коды подсчёта операций прилагаю, если что то захочешь обсудить по +1 на операцию не вопрос.
Вобщем так у меня вышло почти в 3 раза эффективней (55 к операций против 190 к у тебя), причём я думаю тут не арифметическая а геометрическая зависимость в числе операций. О понятности кода моего и твоего говорить тоже не буду. Остаётся добавить что в нолике твой алгоритм вылетает. Мой код из поста 19
0
|
|||||||||||
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 18:55 | |
|
-=ЮрА=-, я не знаю что вы тут вообще сделали, но вы засеките время на тесте n = 9999999900000001 моего решения и вашего
и не нужно ничего вставлять в мой код. Добавлено через 1 минуту -=ЮрА=-, и использовал самую быструю проверку числа на простоту, известную кому-либо на данный момент. Кроме, конечно, решета Эратосфена.
0
|
|
| 02.05.2013, 18:55 | ||
|
Не по теме:
0
|
||
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 18:57 | |
|
-=ЮрА=-, вы написали очень не эффективный код, вы тестировали алгоритмы на маленьких числах, попробуйте на числах больше миллиарда.
0
|
|
|
|
|||||||||||
| 02.05.2013, 19:03 | |||||||||||
|
Ternsip, хорош!Возьми да посмотри на цифры. И в нуле поправь свой "супер"код.
Добавлено через 55 секунд Не по теме: Хотя миллиард говоришь, ну хорошо... Добавлено через 4 минуты Ternsip, especially for you (ну не миллиард а 100 млн, простишь меня ладно?) Юзни код мєйна У меня
0
|
|||||||||||
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 19:06 | |
|
https://www.cyberforum.ru/atta... 1367507123
https://www.cyberforum.ru/atta... 1367507123 https://www.cyberforum.ru/atta... 1367507123
0
|
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 19:06 | |
|
-=ЮрА=-, 100000000 разделится сразу на двойку, я вам говорю попробуйте тест 9999999900000001
0
|
|
|
|
|
| 02.05.2013, 19:09 | |
|
Ternsip, у меня стоит тип инт у которого есть предел INT_MAX, а ты тулишь числа превосходящие его. (Даю подсказку замени int num на long long num, а то не догадаешся до этого видимо)
Я поставил isSimple(899999999); и получил 14 операций у себя и test(899999999); - 84 на твоём коде, это всё экстраполируется и на большие числа
0
|
|
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 19:10 | |
|
-=ЮрА=-, какую же вы ерунду пишете
посмотрите 1-й скриншот.
0
|
|
|
|
||||||
| 02.05.2013, 19:15 | ||||||
|
Всё вот тебе код и умолкни наконец
0
|
||||||
|
670 / 198 / 29
Регистрация: 10.05.2012
Сообщений: 595
|
|
| 02.05.2013, 19:17 | |
|
-=ЮрА=-, только 9999999900000001 простое число, а у вас программа скажет, что оно составное
isSimple вернёт false
1
|
|
|
|
||||||||
| 02.05.2013, 22:46 | ||||||||
), я тебе уже писал что присваивать long long к инту может только человек заведомо пытающийся предоставить подвох
Не по теме: В любом случае алгоритм представленный мной обладает производительностью на порядок выше того что ты пытаешся представить как панацею, вдобавок у тебя не работает нолик. Про длинну и понятность кода я молчу...
0
|
||||||||
| 02.05.2013, 22:46 | |
|
Реализовать алгоритм поиска простых чисел Cоставить алгоритм поиска N простых чисел Алгоритм поиска целых простых чисел
Алгоритм поиска количества простых чисел в заданном массиве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|