|
|
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
Приветствую, господа! Есть задача: найти и вывести все простые числа Вифериха (Wieferich) . Реализую на C#. Формула, вроде как, простая: находим простое число и проверяем его на число Вифериха по формуле Код: plaintext P. S. Простые числа находятся верно. Проблема именно с данным фрагментом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 21:43 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
Math.Pow работает с Double - тут ни размера, ни точности недостаточно. Тут надо использовать сверхдлинную математику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 22:13 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
Akina, это вообще возможно реализовать средствами C#? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 22:22 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
Ответ прост - 1093 и 3511 К декабрю 2012-ого года достиг предела поиска 72·10 15 и поиск продолжается.Вычисление "в лоб" потребует вычислений с числами, имеющими более 2 58 двоичных разрядов. На 4 ТБ HDD умещается число размером всего лишь 2 45 двоичных разрядов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 22:24 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
А есть ли вообще какие-либо способы найти эти два числа? Что то беглый взгляд в сети никаких формул не выявил. Если это задание по программированию, то подразумевалось что решение есть же? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 23:00 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
maximusendЕсли это задание по программированию, то подразумевалось чтоЕсли это задание по программированию, то подразумевается, что либо вы не будете решать его "в лоб" (воспользуетесь соответствующими математическими методами), либо освоите библиотеку для "длинных" вычислений. Свежая ссылка на тему - habrahabr.ru/post/207754/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 00:39 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
miksoftОтвет прост - 1093 и 3511 К декабрю 2012-ого года достиг предела поиска 72·10 15 и поиск продолжается.Вычисление "в лоб" потребует вычислений с числами, имеющими более 2 58 двоичных разрядов. На 4 ТБ HDD умещается число размером всего лишь 2 45 двоичных разрядов. Подобные задачи ставят перед собой университеты с упором на математику. И обладающие своими площадками для распределённых вычислений. И кустарю-одиночке с C#-ом там делать нечего. Не та весовая категория. Хотя поковырять теорему Ферма всегда интересно. Но опять-же со стороны математики на не long-digit-libraries. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 15:22 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
maximusend, вот когда ты в школе столбиком число делил, разве ты на каждом шагу сразу со всеми разрядами числа работал? Просто мысль) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 23:18 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
mayton, надо сказать, что данный вуз явно не заточен под математику и это обычная контрольная работа по программированию. miksoft, выражаю персональную благодарность. Отличная ссылка. Задача решена. Код конечно корявый, но своё дело делает: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 19:19 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
maximusend, окей. Теперь посчитай среднюю скорость. Когда ты достигнешь 72 * 10^15 используя Java и BigInteger. Ведь поиск новых чисел У. является целью. Не так ли? Старые 1093 и 3511 нам уже неинтересны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 19:37 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
maximusendКод конечно корявый, но своё дело делает: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Программист сделает это без BigInteger. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2014, 21:19 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovПрограммист сделает это без BigInteger. Можно поподробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 14:27 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
maximusendAleksandr SharahovПрограммист сделает это без BigInteger. Можно поподробнее? Ты посчитал скорость генерации и проверки чисел, хвастун? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 16:09 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
maximusendAleksandr SharahovПрограммист сделает это без BigInteger. Можно поподробнее? В качестве отправной точки для последующей оптимизации можно попробовать это Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 16:31 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
Нельзя это в таком виде пробовать, потому как dividend при таком цикле будет расти как 0, 1, 3, 7, 15, 31 , тут надо просто удваивать его, а единицу вычитать уже при окончательном сравнении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 16:45 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
таки поспешил, сорри ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 16:52 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
wstНельзя это в таком виде пробовать, потому как dividend при таком цикле будет расти как 0, 1, 3, 7, 15, 31 , тут надо просто удваивать его, а единицу вычитать уже при окончательном сравнении. А результат будет сильно отличаться? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 16:54 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
Просто дошло когда нажимал "отправить". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2014, 16:58 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
miksoftОтвет прост - 1093 и 3511 На 4 ТБ HDD умещается число размером всего лишь 2 45 двоичных разрядов. почему ? я думал 2^50 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 08:57 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
miksoftОтвет прост - 1093 и 3511 К декабрю 2012-ого года достиг предела поиска 72·10 15 и поиск продолжается.Вычисление "в лоб" потребует вычислений с числами, имеющими более 2 58 двоичных разрядов. На 4 ТБ HDD умещается число размером всего лишь 2 45 двоичных разрядов.Вообще-то чтобы вычислить a^b%M, достаточно всего в два раза больше разрядов чем в M. Всего каких-то 256 разрядов хватит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 09:27 |
|
||
|
Простое число Вифериха
|
|||
|---|---|---|---|
|
#18+
maximusendmayton, надо сказать, что данный вуз явно не заточен под математику и это обычная контрольная работа по программированию. miksoft, выражаю персональную благодарность. Отличная ссылка. Задача решена. Код конечно корявый, но своё дело делает: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. как-то так: if (BigInteger.PowMod(2, i-1, i*i) == 1) вывести число на экран ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 09:48 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38519930&tid=1341308]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 433ms |

| 0 / 0 |
