|
2 / 2 / 1
Регистрация: 01.05.2013
Сообщений: 109
|
||||||
Эффективный алгоритм поиска простых чисел на С++02.05.2013, 11:41. Показов 16276. Ответов 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,338
|
|
| 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 простых чисел Алгоритм поиска целых простых чисел
Алгоритм поиска количества простых чисел в заданном массиве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|