Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как можно быстрее всего узнать сколько находится простых чисел до заданного числа (нужно до 48 миллиардов хотя бы)?

МатематикаДомашние задания
Анонимный вопрос
  ·   · 7,7 K
Программист станка ЧПУ, технолог производства...  · 15 мар 2019

Если есть возможность написать и скомпилировать программу, то алгоритмов для определения простых чисел довольно много, зачастую они очень хитрые и неочевидные, но найти их несложно 

Наиболее примитивный будет следовать из определения простого числа. Что-то вроде 

<выбираем очередное число>

<последовательно делим на 2, 3 и далее вплоть до половины данного числа, дальше смысла нет>

<как только остаток от деления выходит равным нулю, переход к следующему числу, так как это уже точно не простое>

<если прошли все деления от 2 до половины числа и так и не было нулевого остатка, то вывод этого числа где-то на экране и переход к следующему числу>

Но это хреновый алгоритм, так как очень долгий. Когда-то из интереса написал его на Си и запустил, до 10 миллионов он считал часов так несколько, о 48 миллиардах речь не идёт. 

Но можно найти более хитрые алгоритмы, основанные на математических критериях простого числа, а реализовать их можно где угодно, думаю, даже в Экселе

Да, это был плохой алгоритм. :)

Аналитический философ.  · 15 мар 2019
Количество простых чисел π(х), не превосходящих заданного числа х асимптотически равно: 1) х/ln x - одна из первых оценок, восходящая ещё к Гауссу. Является теоремой.  2) π(х) = Li x + O(sqrt x * ln^2 (x)). Где Li (x) -... Читать далее
Простые числа. Преподаватель с 2001, к.т.н. Яндекс...  · 23 нояб 2021
Самый быстрый способ массового поиска простых чисел на отрезке - это использование решета (сита). Самый простой алгоритм - Решето Эратосфена. Но также разработаны решета, которые оказываются быстрее и экономичнее в плане... Читать далее