Здравствуйте уважаемые эксперты! Занимаюсь переделкой библиотеки численного анализа НИВЦ МГУ и при разборе процедуры вычисления простых чисел типа "решето Эратосфена" столкнулся с одной проблемой вспомогательного характера: там для вычисления количества простых чисел в диапазоне от 1
до N использует ся формула:
не больше [ 1.6N / lnN + 1 ] , если N <= 200 , или не больше [ N / (lnN-2) + 1 ] , если N > 200.
То, что их количество после вчисления получается действительно "не больше" - та и есть. Однако эта формула при расчёте потребного количества ячеек массива для хранения результата, выдаёт ответ с
изрядным завышением. И если такой завышения для диапазона простых чисед от 1 до 100 вполне терпимо, то когда речь идёт о миллионах, миллиардах и т.д., то в этом случае пустых ячеек без результата получается просто бешеное количество. Сам я программирую расчёт количества так:
Если N <= 200 То
Количество = 1.6*N / LOG(N) + 1
Иначе
Количество = N / (LOG(N) - 2) + 1
И у меня вопрос: - ошибся я; - ошибка у них там в алгоритме; - если никто не ошибся, есть ли формулы вычисляющее более "разумное" количество предполагаемых простых чисел?
Лучшие результаты должна давать следующая оценка количества п(x) простых чисел, не превосходящих x: п(x) ≤ (x/ln x)*(1 + 1.2762/ln x) при x>1. Эта формула была предложена в статье 1999 года, автор Pierre Dusart. Согласно энциклопедии, в
программе НИВЦ МГУ использовалась более ранняя оценка.
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались.
Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора -
для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение.
Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал,
который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом.
Заходите - у нас интересно!