Имя: Пароль:
IT
 
новый быстрый алгоритм нахождения всех простых чисел до заданного числа N
,
0 viktorovichvadim
 
08.08.14
16:03
Коллеги, доброго времени суток. Разработал новый быстрый алгоритм нахождения всех простых чисел до заданного числа N.
http://infostart.ru/public/287851/
Может пригодится кому. В виде обработки 1С и на Java
1 МихаилМ
 
08.08.14
16:05
2 acsent
 
08.08.14
16:18
Еще один???
3 Волшебник
 
модератор
08.08.14
16:19
А кому нужны простые числа?
4 acsent
 
08.08.14
16:20
(3) Твоим ботам модераторам, чтобы лучше инициализировать ГСЧ
5 MMF
 
08.08.14
16:27
(3) ну... на 1С собирается ломать RSA
6 vhl
 
08.08.14
17:56
(0) Сделай радужную таблицу и не парься
7 acsent
 
08.08.14
17:57
у тебя курсовая такая?
8 User_Agronom
 
08.08.14
18:01
Особенно интересно смотрится кнопка: "Заказать внедрение".
Почём внедрение и в какой сфере практического бухучёта оно может помочь?
9 Злопчинский
 
08.08.14
18:03
не, ну раньше же писали - если кто-то разработает новый алгоритм нахождения простых чисел, при этом быстрый чем предыдущее - это ж прорыв.
.
тянет автор на прорыв или нет?
10 Ёпрст
 
08.08.14
18:04
(8) это непонятное нововведение на ис - там везде такая кнопка..
11 wertyu
 
08.08.14
18:47
(0) >>> Сразу скажу, что это не аналог «решета Эратосфена», «решета Аткина» и пр.

у тебя как раз решето Эратосфена
12 Ненавижу 1С
 
гуру
12.08.14
17:14
Основная идея алгоритма в следующем:
Отрезок от 2 до N разбиваем на несколько отрезков праймориалами. Например, при N = 300 отрезок [2; 300] будет разбит на отрезки [2; 2*3], [2*3+1; 2*3*5], [2*3*5+1; 2*3*5*7] и [2*3*5*7+1; 300], где 2, 3, 5, 7 и т.д. - последовательные простые числа.
На каждом отрезке генерируем последовательность чисел, не кратных каждому из простых чисел, составляющих нижнюю границу праймориала. Например, на отрезке [2*3+1; 2*3*5] будет сгенерирована следующая последовательность: 7, 11, 13, 17, 19, 23, 25, 29 (все не кратны простым числам 2 и 3). Затем исключаем из этой последовательности составные числа, кратные наибольшему простому числу, составлящему верхнюю границу праймориала. В нашем пример исключаем число 25 (кратно простому числу 5).
После того, как для каждого отрезка были выполнены действия из п. 2, на каждом из них исключаем оставшиеся составные числа.

и в чем прикол?
13 Garykom
 
гуру
12.08.14
17:26
(12) алгоритм "новый" т.е. читать не слямзенный а сам кодил...

т.е. прикол что человек "сам накодил"
14 Жан Пердежон
 
12.08.14
20:38
фигня, вот вам мой, очень быстрый алгоритм нахождения всех простых чисел до заданного числа N: 1. берем отрезок от 2 до N и 2. очень быстро исключаем из него все составные числа (разбивать на отрезки можно как угодно!!!!): выполнив все действия из шага 2, в последовательности остануться только простые числа!!!
15 sda553
 
12.08.14
21:35
Я посмотрел алгоритм, проверить не на чем, но у меня есть подозрение, что он запишет число 7429=17*19*23  в простые числа.
Почему.
1. Число 7429 попадает в праймориал [2*3*5*7*11+1 ; 2*3*5*7*11*13]
2. По шагу 2 число 17*19*23 очевидно ни кратно всем числам 2,3,5,7,11,13
3. По шагу 3 оно не отсеется как составное число, так как составными считаются ( по алгоритму) только произведения двух простых, у нас же произведение трех простых
16 wertyu
 
15.08.14
19:25
(12) см (11) это решето замаскированное от самого себя
17 wertyu
 
15.08.14
19:25
(15) отсеется
18 Defender aka LINN
 
15.08.14
19:33
(0) ТС, ты мой спаситель! Именно этого алгоритма мне не хватало, чтобы сканер ШК на 4-й кассе в Новосибирске заработал!
Респект и максимальный перепост!
19 sda553
 
15.08.14
19:38
(17) Отсеется по 1,2 или 3?
20 wertyu
 
15.08.14
19:44
(19) это решето Эратосфена, только замаскированное, сам посмотри внимательно
21 sda553
 
15.08.14
21:15
(20) Это я сравнивал в первую очередь, почему и подобрал такой пример.
Число 7429 отсеялось бы решетом сразу по решетированию числом 17.
А по данному алгоритму, число 7429, попадая в праймориал, указанный в (15) будет проверятся на 2,3,5,7,11,13 - т.е. пройдет эту проверку,
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший