x=b (mod e), (e = 6(mod 4)).
Вот здесь как-то плохо написано.
![$e$ $e$](https://dxdy-01.korotkov.co.uk/f/8/c/d/8cd34385ed61aca950a6b06d09fb50ac82.png)
чему равно (я не думаю, что
![$e$ $e$](https://dxdy-01.korotkov.co.uk/f/8/c/d/8cd34385ed61aca950a6b06d09fb50ac82.png)
- это класс вычетов).
Если я правильно понял эта фраза даже излишняя.
a= n² – 3n, b= 2n, c= 4n - 4.
A = (0,2,4,6, ..., d) (d < с).
Видимо, имеется ввиду
![$A= \{ 0;2;4;6;...;4n-6\}$ $A= \{ 0;2;4;6;...;4n-6\}$](https://dxdy-02.korotkov.co.uk/f/9/e/8/9e805d1a173f417a04c888bc8338ff6982.png)
Доказательство:
Каждый шаг алгоритма представляется в виде:
n²-(2k+1)n = R (mod(4k+2)) → n²-R = 0 (mod(2k+1)) → n²-(R+(2k+1)m) = 0 (mod(2k+1))
n, m, k – натуральные числа.
Справедливость данных выводов доказывает, что на выходе нет составных чисел.
В лучшем случае это краткий набросок доказательства. Может у Вас там где-то полный вариант есть, но приведенный текст на доказательство не тянет.
А вообще ничего так выглядит. Я проверил для
![$n^2=81$ $n^2=81$](https://dxdy-01.korotkov.co.uk/f/8/b/6/8b62faf3eaeff0a57fb04fd5ffb20b2682.png)
- алгоритм действительно выдает простые числа.
Кроме того, Вы забыли написать - это метод генерации последовательностей простых чисел. Т.е. факторизации чисел здесь нет (может у Вас там где-то есть более кошерный вариант, но в написанном здесь ничего подобного нету). А раз ее нет, то имеет смысл сравнить скорость работы своего алгоритма с существующими методами проверки на простоту. Что-то мне подсказывает, что они могут быстрее работать (у Вас метод строится, скорее всего, на решете).
В любом случае: если будете это куда-то сдавать - нужно найти асимптотику числа шагов алгоритма и сравнить ее с асимптотикой существующих алгоритмов.
Например, уже сразу видно, что если это будет быстрее решета Эратосфена (а это самое медленное решето, см в Вики ссылки), то лишь в константу раз и памяти может будет есть лишь в константу раз меньше. У Вас в цикле происходит
![$O(n)$ $O(n)$](https://dxdy-02.korotkov.co.uk/f/1/f/0/1f08ccc9cd7309ba1e756c3d9345ad9f82.png)
сравнений. В то же время, можно решетом Эратосфена за
![$O(\sqrt{n})$ $O(\sqrt{n})$](https://dxdy-03.korotkov.co.uk/f/a/e/a/aea3a2d1b6dea2f0a1568ec4cb4269ad82.png)
вычислить все простые числа до
![$n$ $n$](https://dxdy-02.korotkov.co.uk/f/5/5/a/55a049b8f161ae7cfeb0197d75aff96782.png)
и просто за
![$O(\frac{n}{\ln n})$ $O(\frac{n}{\ln n})$](https://dxdy-03.korotkov.co.uk/f/e/a/4/ea419aa1dfa57bdefc6cbaa6b6ec8b6082.png)
операций просеять участок из
![$[(n-2)^2,n^2]$ $[(n-2)^2,n^2]$](https://dxdy-04.korotkov.co.uk/f/7/5/7/757ec09f894f7ea225e8adcdb67642b982.png)
(ха! так решето Эратосфена даже быстрее будет в
![$O(\ln n)$ $O(\ln n)$](https://dxdy-04.korotkov.co.uk/f/b/b/0/bb0275c540a63e4fa051361a5314aa5e82.png)
раз! Тогда вообще смысла нет.). Памяти кушаем
![$O(n)$ $O(n)$](https://dxdy-02.korotkov.co.uk/f/1/f/0/1f08ccc9cd7309ba1e756c3d9345ad9f82.png)
. Ну код простой, да.
И еще забыл сказать: за поиск в массиве
![$A$ $A$](https://dxdy-02.korotkov.co.uk/f/5/3/d/53d147e7f3fe6e47ee05b88b166bd3f682.png)
сложность еще увеличивается в
![$O(\ln n)$ $O(\ln n)$](https://dxdy-04.korotkov.co.uk/f/b/b/0/bb0275c540a63e4fa051361a5314aa5e82.png)
раз.
Ссылка на Вики:
http://ru.wikipedia.org/wiki/%D0%A0%D0% ... 0%BD%D0%B0посмотрите там еще и решето Аткина - вот Вам с ним надо будет сравнивать тогда.
-- Вс сен 18, 2011 03:51:53 --Я так и не могу осилить оформление формул. Постоянные ошибки. Только поэтому.
Странно. Там же автопроверка стоит - там же все ошибки пишутся.