· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› генерация массива простых чисел

<< . 1 . 2 .

Посл.отвђт Сообщенiе


Дата: Ноя 1, 2004 20:04:45

Есть и другой алгоритм. Называется "алгоритм колеса". В книгу пойдет. EvilsInterrupt, если тебе совсем не в терпеж, дам наброски в конце недели. Если может подождать - жди и ты.


Дата: Ноя 1, 2004 23:21:23

ava:
алгоритм мой ;)
математическое обоснование писать не буду, но нетрудно доказать, что что числа вида (30k+n), где n не пренадлежит {1,7,11,13,17,19,23,29} не являются простыми (они делятся на 2, 3 или 5). А остальные числа мы проверяем на простоту делением.
если нужен произвольный доступ к простым числам, скорость доступа можно увеличить, записывая каждое n-нное число полностью. например, если писать каждое 29-е число полностью то получится
struct primes_block{
unsigned long first;
unsigned char primes[28];
}
учитывая, что данные в кэш грузятся по 32 байта, при правильном выравнивании массива таких блоков, потери производительности почти не будет


Дата: Ноя 2, 2004 01:53:26

Loger, я вот тут подумал над твоим алгоритмом и наконец-то понял, что это действительно очевидно :)

"Интра-фреймы" по-своему решают проблему поиска чисел, но одновременно увеличивают размер файла, так что основное преимущество использования полуразностей - компактность (по сравнению с полной записью) - уменьшается. К тому же следует иметь в виду, что полуразность может оказаться больше 256. В данном случае все в порядке - максимальная полуразность равна 168 - но это выяснилось только после создания таблицы. >:)


Дата: Ноя 2, 2004 08:29:46

All

Дружно пошлем все володины проблемы на ..., что бы он быстрее труд на бацал!


Дата: Ноя 7, 2004 00:13:40

Я так понимаю что массив простых чисел нужен для проверки большого числа на простоту ?

Я в свое время так сделал массив занял 800+ мег. :)

После чего он оказался ненужен так как есть как минимум 2 способа проверки числа на простоту (читай Кнута).

PS: Может я не понял для чего все это нужно , так что сильо не пинайте :)


Дата: Ноя 7, 2004 05:33:55 · Поправил: volodya

Я так понимаю что массив простых чисел нужен для проверки большого числа на простоту

Упаси господи тебя так число на простоту проверять :)

После чего он оказался ненужен так как есть как минимум 2 способа проверки числа на простоту

И не 2, а 22. Только Кнута в данном случае читать не стоит. Лучше почитать "Primes in P" - вот там вполне приличный тест на простоту и описан :)

<< . 1 . 2 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.066