|
2 / 2 / 1
Регистрация: 01.05.2013
Сообщений: 109
|
||||||
Эффективный алгоритм поиска простых чисел на С++02.05.2013, 11:41. Показов 15964. Ответов 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 простых чисел Алгоритм поиска целых простых чисел
Алгоритм поиска количества простых чисел в заданном массиве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|