Самый эффективный код для первых 10000 простых чисел?
Я рекомендую сито, либо Sieve of Eratosthenes, либо faster Sieve of Atkin.
Решето или Эратосфен, вероятно, самый primes интуитивный метод поиска faster списка простых чисел. В основном performance вы:
- Запишите список чисел от 2 до любого желаемого предела, скажем, 1000.
- Возьмите первое незачеркнутое число (для первой итерации это 2) и вычеркните из списка все числа, кратные этому числу.
- Повторяйте шаг 2, пока не дойдете до конца списка. Все числа, которые не вычеркнуты, являются простыми.
Очевидно, что существует perfomance довольно много оптимизаций, которые performance-tuning могут ускорить работу этого algorithm алгоритма, но это основная slow идея.
Решето Аткина использует primes аналогичный подход, но, к efficiency сожалению, я недостаточно performance знаю о нем, чтобы объяснить primes его вам. Но я знаю, что алгоритм, который speed я привел, занимает 8 секунд, чтобы tuning вычислить все простые числа performance до 1000000000 на древнем perfomance Pentium II-350
Сито Эратосфена algorithms Исходный код: http://web.archive.org/web/20140705111241/http://primes.utm.edu/links/programs/sieves/Eratosthenes/C_source_code/
Решето Аткина perfomance Исходный код: http://cr.yp.to/primegen.html
performance
algorithm
primes
Самый эффективный код для первых 10000 простых чисел?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.