Я бы предложил такой алгоритм, который последовательно находит все множители, возможно, так будет быстрее, чем находить только простые.
Свежайшая мысль. За все годы существования вычислительной техники никто не додумался.
А были такие, которые ее (эту формулу) "взяли и вычислили"?
"Вычислили формулу"??? Вам предлагалось не "вычислять формулу", а воспользоваться готовой формулой для вычисления простого числа.
Если нет - кто мешает?
Кто Вам мешает - не знаю. Мне никто не помешал. Я запустил программу Mathematica 5.1, написал две формулы
![$\mathrm{PrPi[k\_Integer]:=k-1+\sum\limits_{j=1}^kFloor\left[\frac 2j\left(1+\sum\limits_{s=1}^{Floor[\sqrt{j}]}\left(Floor\left[\frac{j-1}s\right]-Floor\left[\frac js\right]\right)\right)\right]}$ $\mathrm{PrPi[k\_Integer]:=k-1+\sum\limits_{j=1}^kFloor\left[\frac 2j\left(1+\sum\limits_{s=1}^{Floor[\sqrt{j}]}\left(Floor\left[\frac{j-1}s\right]-Floor\left[\frac js\right]\right)\right)\right]}$](https://dxdy-03.korotkov.co.uk/f/2/2/9/2294b07884dd21cdf1c7f6d570a3cc1682.png)
и
![$\mathrm{P[n\_Integer]:=1+\sum\limits_{k=1}^{2Floor[n\,Log[n]+1]}\left(1-Floor\left[\frac{PrPi[k]}n\right]\right)}$ $\mathrm{P[n\_Integer]:=1+\sum\limits_{k=1}^{2Floor[n\,Log[n]+1]}\left(1-Floor\left[\frac{PrPi[k]}n\right]\right)}$](https://dxdy-04.korotkov.co.uk/f/7/9/f/79f0ef5ca4edbada437f754039dc13e582.png)
приведённые по указанной
Jnrty ссылке, а потом вычислял:
![$\mathrm{Timing[PrPi[1000]]}$ $\mathrm{Timing[PrPi[1000]]}$](https://dxdy-01.korotkov.co.uk/f/8/f/0/8f06f9c2e2f1683ca279fae9389d082082.png)
{0.171 Second, 168}
![$\mathrm{Timing[PrPi[10000]]}$ $\mathrm{Timing[PrPi[10000]]}$](https://dxdy-04.korotkov.co.uk/f/3/c/c/3cccc9a08ad8afee23c162f6f76456eb82.png)
{4.578 Second, 1229}
Встроенная функция PrimePi работает быстрее:
![$\mathrm{Timing[PrimePi[10000]]}$ $\mathrm{Timing[PrimePi[10000]]}$](https://dxdy-02.korotkov.co.uk/f/d/7/a/d7a4e90f7389c05cd2df009cce45c31b82.png)
{0.015 Second, 1229}
А теперь - вычисление 168-го простого числа:
![$\mathrm{Timing[P[168]]}$ $\mathrm{Timing[P[168]]}$](https://dxdy-02.korotkov.co.uk/f/1/9/0/190d6dacf986ac85c58e07cfbf84aa6882.png)
{236.422 Second, 997}
Если заменить функцию PrPi встроенной функцией PrimePi, получится гораздо быстрее:
{0.063 Second, 997}
Ещё быстрее получится, если использовать встроенную функцию Prime:
![$\mathrm{Timing[Prime[1000000000]]}$ $\mathrm{Timing[Prime[1000000000]]}$](https://dxdy-03.korotkov.co.uk/f/2/f/c/2fcdca50b034cf81166bf9b16b18d35782.png)
{0. Second, 22801763489}
![$\mathrm{Timing[Prime[10000000000]]}$ $\mathrm{Timing[Prime[10000000000]]}$](https://dxdy-03.korotkov.co.uk/f/6/1/5/615e39daf8b3f3f6e512a6e8effc9f9f82.png)
{1.625 Second, 252097800623}