|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
А насчет практики - есть такое число Скьюза . Это про гипотезу, что количество простых чисел, не превосходящих n, меньше чем интегральный логарифм li(n). Она выполняется до 10 316 , а потом перестает выполняться... Вы свой алгоритм хотя бы до 10 316 проверяли? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:08 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Gennadiy UsovЯ говорю об одинаковых условиях для двух программ: старенький ПК, Питон.И что? Вот я в детстве иногда лепил из пластилина. Кое-что из моих "творений" даже стояло дома на видном месте. И что? Кому и зачем всё это может быть интересно? P.S. "Всё" - не столько мои излияния, сколько ваши "труды". Уж не обижайтесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:10 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Basil A. SidorovGennadiy UsovПрограмма оценила число: Код: plaintext 1. 2. 3.
что среди представленных чисел (одно число в перечне) 0 простых чисел. (слово "нет" - лишнее, убираю) 2019-10-03-13.09.54 -число- 3825123056546413053 -простых чисел- 0 2019-10-03-13.09.54 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:11 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Gennadiy UsovBarloneпропущено... На питоне? Да, хороший вариант для измерения скорости :)Но сравнивались две прогроммы на Питоне. Я же не говорю о времени работы программ. Я говорю об одинаковых условиях для двух программ: старенький ПК, Питон.Не, просто питон известен своей тормознутостью... Хотя, вы в степень то наверное встроенной функцией возводили? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:11 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Gennadiy UsovBasil A. Sidorovпропущено... Этот загадочный ответ сообщает, что число простое или как?Программа "приняла" число и "сказала", что среди представленных чисел (одно число в перечне) 0 простых чисел. (слово "нет" - лишнее, убираю) 2019-10-03-13.09.54 -число- 3825123056546413053 -простых чисел- 0 2019-10-03-13.09.54Эй, у меня последняя цифра была 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:15 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Gennadiy UsovПрограмма "приняла" число и "сказала", что среди представленных чисел (одно число в перечне) 0 простых чисел. (слово "нет" - лишнее, убираю)"Ясвасхудею". А выдать что-то вроде: Код: plaintext 1. 2.
Ну или учитывая, что простые числа, типа, "редкие", по мере проверки просто печать список "эвристически простых", а по итогу выдать общую статистику? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:16 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Gennadiy UsovBarloneВот еще хорошее число: 3825123056546413051Программа оценила число: 2019-10-03-13.00.20 -число- 3825123056546413053 -Нет простых чисел- 0 2019-10-03-13.00.20не то число ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:16 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
BarloneGennadiy Usovпропущено... Программа оценила число: 2019-10-03-13.00.20 -число- 3825123056546413053 -Нет простых чисел- 0 2019-10-03-13.00.20не то числоРазобрался. У меня цикл по нечётным числам с шагом 2 на диапазоне, я назначил число и ограничил на +1, а цикл (на то он и цикл) прибавляет и сравнивает с ограничителем. А печать идёт после выхода из цикла. Внутри цикла составные числа программе не нужны, поэтому эти числа там не печатаются. Исправил (отнял 2): 2019-10-03-13.19.53 -число- 3825123056546413051 -простых чисел- 0 2019-10-03-13.19.53 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:26 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
BarloneА насчет практики - есть такое число Скьюза . Это про гипотезу, что количество простых чисел, не превосходящих n, меньше чем интегральный логарифм li(n). Она выполняется до 10 316 , а потом перестает выполняться... Вы свой алгоритм хотя бы до 10 316 проверяли?На топике считал для некоторой таблички числа порядка 2^2048. На диапазоне 2^1024 количество простых чисел на диапазоне совпало с расчётом mayton. А вопрос один - с чем сравнивать, как проверять. Делители "будут очень долго считать"... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:34 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Gennadiy UsovBarloneпропущено... не то числоРазобрался. У меня цикл по нечётным числам с шагом 2 на диапазоне, я назначил число и ограничил на +1, а цикл (на то он и цикл) прибавляет и сравнивает с ограничителем. А печать идёт после выхода из цикла. Внутри цикла составные числа программе не нужны, поэтому эти числа там не печатаются. Исправил (отнял 2): 2019-10-03-13.19.53 -число- 3825123056546413051 -простых чисел- 0 2019-10-03-13.19.53Не сходится с тем, что вы про свой алгоритм рассказываете... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:42 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Basil A. SidorovGennadiy UsovПрограмма "приняла" число и "сказала", что среди представленных чисел (одно число в перечне) 0 простых чисел. (слово "нет" - лишнее, убираю)"Ясвасхудею". А выдать что-то вроде: Код: plaintext 1. 2.
Ну или учитывая, что простые числа, типа, "редкие", по мере проверки просто печать список "эвристически простых", а по итогу выдать общую статистику?Согласен. Поскольку задают вопросы, нужно привести программу в порядок: красиво оформить выходные данные. Хотя программы должно быть две (дубляж): для диапазона и для отдельного числа. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:45 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
BarloneGennadiy UsovРазобрался. У меня цикл по нечётным числам с шагом 2 на диапазоне, я назначил число и ограничил на +1, а цикл (на то он и цикл) прибавляет и сравнивает с ограничителем. А печать идёт после выхода из цикла. Внутри цикла составные числа программе не нужны, поэтому эти числа там не печатаются. Исправил (отнял 2): 2019-10-03-13.19.53 -число- 3825123056546413051 -простых чисел- 0 2019-10-03-13.19.53Не сходится с тем, что вы про свой алгоритм рассказываете...И где расхождение? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:47 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
n = 3825123056546413051 n-1 = 2 1 *1912561528273206525 a (n-1)/2 mod n равно 1 или n-1 для всех a от 2 до 36... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 13:51 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Barlonen = 3825123056546413051 n-1 = 2 1 *1912561528273206525 a (n-1)/2 mod n равно 1 или n-1 для всех a от 2 до 36...Хороший пример! У меня записано: "Число А выбирается равное 10, с запасом – пока подтверждено только одно число 25326001 при а = 7. Можно увеличить число 10. Но для этого нужны проверки для чисел, больших 250 000 000." Просто увеличиваем А до 15 простых чисел! То есть до 47. И смотрим дальше. Ещё есть примеры? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 14:58 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 15:33 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Насчет простых чисел поторопился... У числа 3825123056546413051 log (n) = 42... Поэтому ставим А = 42 и рассматриваем все числа от 2 до 42. Число 36 - попадает. Ещё раз уточнил старые расчёты. Для тестовых расчётов log (1 000 000 001) = 20. Мне встречались числа 11, 13, 15. Поэтому, A = log (n). И в тесте Миллера-Рабина log (n). Однако ушли от вероятности. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 15:36 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Gennadiy UsovНасчет простых чисел поторопился... У числа 3825123056546413051 log (n) = 42... Поэтому ставим А = 42 и рассматриваем все числа от 2 до 42. Число 36 - попадает. Ещё раз уточнил старые расчёты. Для тестовых расчётов log (1 000 000 001) = 20. Мне встречались числа 11, 13, 15. Поэтому, A = log (n). И в тесте Миллера-Рабина log (n). Однако ушли от вероятности. Эх, опять промахнулись... 3317044064679887385961981 - вот тут уже 43 надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 15:41 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
А насчет простых то как раз всё правильно: понятно, что если a m mod n = 1 и b m mod n = 1 то и (ab) m mod n = 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 15:44 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84.
Вот вам тест простоты на питоне, вызывать isprime(n) - проверяйте, ищите контрпримеры. Это как раз Люка. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 15:46 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Точнее, один раунд Ферма Соловея-Штрассена плюс Люка ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 15:53 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
Поторопился, если подсунуть квадрат очень большого числа, math.sqrt вычисляется с ошибкой, и в цикле поиска квадратичного невычета зависает... Поправил. Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 16:10 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
С куском отладочного кода в конце :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 16:13 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
BarloneЭх, опять промахнулись... 3317044064679887385961981 - вот тут уже 43 надо.А вот и нет! Здесь s = 2. При s = 1 одни 1 и (n - 1) до 42. А при s = 0 при 2 сразу составное! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 16:23 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
BarloneПоторопился, если подсунуть квадрат очень большого числа, math.sqrt вычисляется с ошибкой, и в цикле поиска квадратичного невычета зависает... Поправил.Спасибо! А если пройтись по всем нечётным, где s = 1, и считать 1 и (n - 1) до "выбывания"? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 16:32 |
|
Эвристический алгоритм (формула, тест простоты) для определения простых чисел
|
|||
---|---|---|---|
#18+
BarloneGennadiy UsovВзял из вики описание теста Люка-Лемера и написал программу на Питоне. На питоне? Да, хороший вариант для измерения скорости :) В нашем случае это норм вариант. Тут-же принципиальная возможность изучается. Перформанс - второе дело. Тем более что для Питона есть библиотеки поддержки длинных. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 16:45 |
|
|
start [/forum/topic.php?fid=16&msg=39871198&tid=1339873]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 280ms |
0 / 0 |