Как найти простои формула

  • 1-е простое число: p(1)=2
  • 2-е простое число: p(2)=3
  • 3-е простое число: p(3)=5
  • 4-е простое число: p(4)=7
  • 5-е простое число: p(5)=11
  • n-е простое число: p(n)=? — Какая общая формула n-го члена последовательности простых чисел?

Универсальной формулы, которая давала бы а) все простые числа, и б) только простые числа, не существует. Ну то есть даже если такая и может существовать, то по сей день её не найдено.

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

Подробный разбор различных формул, связанных с порождением простых чисел, можно найти в журнале “Квант”, №5 за 1975 год. По счастью, он доступен по Сети. В частности, там упоминаются полиномиальные многочлены и формула Джулии Робинсон, которая на данный момент удовлетворяет задачи порождения простых чисел наилучшим образом.

автор вопроса выбрал этот ответ лучшим

ОлегТ
[32.4K]

8 месяцев назад 

Вроде длинный ответ надо давать. А как его тут дашь, если ответ простой и тут не разгуляешься.


Давайте поймем, что же это за простые числа. Это Натуральные числа больше 1, такие что имеют только 2 делителя: единицу и само число. А числа, которые имеют более 2 делителей – будут составными. Составные числа можно разложить на простые множители.

Теперь попробуем решить несколько иную задачу: Пусть есть некое число N. Как понять простое оно или составное?

Надо просто проверить делится ли оно на что то еще кроме “1 и N”. Понятно, что если делиться, то делитель будет больше 1 и меньше N.

Немножко поразмыслив, можно понять, что делимость можно проверять только на простые числа из этого диапазона. А еще подумав, можно понять, что можно проверять не все числа, а до некого p(n), такого что p(n)² ≤ N, а p(n+1)² > N. И даже если после проверки окажется, что все p(n) – не являются делителями N, то есть N – будет простым. Все равно неизвестен его номер. Оно может идти по счету “k”-тым после “n”. N = p(n+k). И сколько этих “k” может быть неизвестно.


Вообщем на сегодняшний день нет общей формулы по нахождению простых чисел по его порядковому номеру.

А числа находят путем проверки делимости. Занимаются этим конечно компьютеры.

simpl
[131K]

8 месяцев назад 

Нет никакой формулы нахождения простых чисел, есть большие доводы, что их распределение имеет случайный характер..

И не нужно придумывать ерунду и отсебятину..

Но есть алгоритмы нахождения ряда простых чисел, самый известный и древний – это т.н. “Решето Эратосфена”..

Для нахождения всех простых чисел вплоть до заданного, согласно Решету Эратосфена нужно:

  1. Выписать целые числа от двух до заданного числа, ограничивающего ряд

2.Вычеркнуть из списка числа кратные 2 до заданного числа

3.Первое не зачёркнутое число, большее чем 2, является простым

4.Вычеркнуть из ряда все числа, кратные найденному числу – это 3

Нужно начинать вычёркивание с заранее известного числа, например 2, потом все числа, кратные 2 и так до конца ряда, найти первое попавшееся не зачёркнутое число и вычеркнуть все последующие кратные ему..

Вычёркиваем все кратные числа первому не зачеркнутому..

В итоге – все не вычеркнутые числа в списке — простые числа.

Alex-soldi­er
[138]

более месяца назад 

В англоязычном пространстве можно найти подборки подобных формул, опирающихся на ту или иную теорему или свойство чисел (формулы страшные, здесь их так просто не воспроизвести, поэтому см. ссылки ниже).

Но по факту это синтетически скомпонованные и крайне замороченные выражения, которые сколько-нибудь пригодны для практического использования только для небольших интервалов n (обычно из-за того, что с ростом n происходит колоссальный рост вычислительной сложности выражения, и, в определенный момент, становится проще найти очередное по счету Простое число банальным Решетом).

Кстати о Решетах. Наиболее популярны три: Решето Эратосфена, Решето Аткина, Решето Сундарама. Аткин и Сундарам работают быстрее Эратосфена, но в них необходимо хранить большие массивы данных, поэтому их применение оправдано лишь на небольших начальных интервалах [2;N]. А вот Эратосфен при реализации оказывается более экономичным, поэтому обычно именно его используют для глубокого просеивания в программах поиска больших Простых чисел.

См. https://en.wikipedia­.org/wiki/Formula_fo­r_primes

См. https://mathworld.wo­lfram.com/PrimeFormu­las.html

См. https://ru.wikipedia­.org/wiki/Решето_Атк­ина

См. https://ru.wikipedia­.org/wiki/Решето_Сун­дарама

Знаете ответ?

In number theory, a formula for primes is a formula generating the prime numbers, exactly and without exception. No such formula which is efficiently computable is known.[clarification needed] A number of constraints are known, showing what such a “formula” can and cannot be.

Formulas based on Wilson’s theorem[edit]

A simple formula is

{displaystyle f(n)=leftlfloor {frac {n!{bmod {(}}n+1)}{n}}rightrfloor (n-1)+2}

for positive integer n, where {displaystyle lfloor  rfloor } is the floor function, which rounds down to the nearest integer.
By Wilson’s theorem, n+1 is prime if and only if {displaystyle n!equiv n{pmod {n+1}}}. Thus, when n+1 is prime, the first factor in the product becomes one, and the formula produces the prime number n+1. But when n+1 is not prime, the first factor becomes zero and the formula produces the prime number 2.[1]
This formula is not an efficient way to generate prime numbers because evaluating {displaystyle n!{bmod {(}}n+1)} requires about n-1 multiplications and reductions modulo n+1.

In 1964, Willans gave the formula

{displaystyle p_{n}=1+sum _{i=1}^{2^{n}}leftlfloor left({frac {n}{sum _{j=1}^{i}leftlfloor left(cos {frac {(j-1)!+1}{j}}pi right)^{2}rightrfloor }}right)^{1/n}rightrfloor }

for the nth prime number p_{n}.[2]
This formula reduces to[3][4] {displaystyle p_{n}=1+sum _{i=1}^{2^{n}}[pi (i)<n]}; that is, it tautologically defines p_{n} as the smallest integer m for which the prime-counting function {displaystyle pi (m)} is at least n. This formula is also not efficient. In addition to the appearance of {displaystyle (j-1)!}, it computes p_{n} by adding up p_{n} copies of 1; for example, {displaystyle p_{5}=1+1+1+1+1+1+1+1+1+1+1+0+0+dots +0=11}.

The articles What is an Answer? by Herbert Wilf (1982)[5] and Formulas for Primes by Underwood Dudley (1983)[6] have further discussion about the worthlessness of such formulas.

Formula based on a system of Diophantine equations[edit]

Because the set of primes is a computably enumerable set, by Matiyasevich’s theorem, it can be obtained from a system of Diophantine equations. Jones et al. (1976) found an explicit set of 14 Diophantine equations in 26 variables, such that a given number k + 2 is prime if and only if that system has a solution in nonnegative integers:[7]

alpha _{0}=wz+h+j-q=0
alpha _{1}=(gk+2g+k+1)(h+j)+h-z=0
alpha _{2}=16(k+1)^{3}(k+2)(n+1)^{2}+1-f^{2}=0
alpha _{3}=2n+p+q+z-e=0
alpha _{4}=e^{3}(e+2)(a+1)^{2}+1-o^{2}=0
alpha _{5}=(a^{2}-1)y^{2}+1-x^{2}=0
alpha _{6}=16r^{2}y^{4}(a^{2}-1)+1-u^{2}=0
{displaystyle alpha _{7}=n+ell +v-y=0}
{displaystyle alpha _{8}=(a^{2}-1)ell ^{2}+1-m^{2}=0}
{displaystyle alpha _{9}=ai+k+1-ell -i=0}
alpha _{{10}}=((a+u^{2}(u^{2}-a))^{2}-1)(n+4dy)^{2}+1-(x+cu)^{2}=0
{displaystyle alpha _{11}=p+ell (a-n-1)+b(2an+2a-n^{2}-2n-2)-m=0}
alpha _{{12}}=q+y(a-p-1)+s(2ap+2a-p^{2}-2p-2)-x=0
{displaystyle alpha _{13}=z+pell (a-p)+t(2ap-p^{2}-1)-pm=0}

The 14 equations α0, …, α13 can be used to produce a prime-generating polynomial inequality in 26 variables:

{displaystyle (k+2)(1-alpha _{0}^{2}-alpha _{1}^{2}-cdots -alpha _{13}^{2})>0.}

That is,

{displaystyle {begin{aligned}&(k+2)(1-{}\[6pt]&[wz+h+j-q]^{2}-{}\[6pt]&[(gk+2g+k+1)(h+j)+h-z]^{2}-{}\[6pt]&[16(k+1)^{3}(k+2)(n+1)^{2}+1-f^{2}]^{2}-{}\[6pt]&[2n+p+q+z-e]^{2}-{}\[6pt]&[e^{3}(e+2)(a+1)^{2}+1-o^{2}]^{2}-{}\[6pt]&[(a^{2}-1)y^{2}+1-x^{2}]^{2}-{}\[6pt]&[16r^{2}y^{4}(a^{2}-1)+1-u^{2}]^{2}-{}\[6pt]&[n+ell +v-y]^{2}-{}\[6pt]&[(a^{2}-1)ell ^{2}+1-m^{2}]^{2}-{}\[6pt]&[ai+k+1-ell -i]^{2}-{}\[6pt]&[((a+u^{2}(u^{2}-a))^{2}-1)(n+4dy)^{2}+1-(x+cu)^{2}]^{2}-{}\[6pt]&[p+ell (a-n-1)+b(2an+2a-n^{2}-2n-2)-m]^{2}-{}\[6pt]&[q+y(a-p-1)+s(2ap+2a-p^{2}-2p-2)-x]^{2}-{}\[6pt]&[z+pell (a-p)+t(2ap-p^{2}-1)-pm]^{2})\[6pt]&>0end{aligned}}}

is a polynomial inequality in 26 variables, and the set of prime numbers is identical to the set of positive values taken on by the left-hand side as the variables a, b, …, z range over the nonnegative integers.

A general theorem of Matiyasevich says that if a set is defined by a system of Diophantine equations, it can also be defined by a system of Diophantine equations in only 9 variables.[8] Hence, there is a prime-generating polynomial as above with only 10 variables. However, its degree is large (in the order of 1045). On the other hand, there also exists such a set of equations of degree only 4, but in 58 variables.[9]

Mills’ formula[edit]

The first such formula known was established by W. H. Mills (1947), who proved that there exists a real number A such that, if

{displaystyle d_{n}=A^{3^{n}}}

then

{displaystyle leftlfloor d_{n}rightrfloor =leftlfloor A^{3^{n}}rightrfloor }

is a prime number for all positive integers n.[10] If the Riemann hypothesis is true, then the smallest such A has a value of around 1.3063778838630806904686144926… (sequence A051021 in the OEIS) and is known as Mills’ constant.[11] This value gives rise to the primes {displaystyle leftlfloor d_{1}rightrfloor =2}, {displaystyle leftlfloor d_{2}rightrfloor =11}, {displaystyle leftlfloor d_{3}rightrfloor =1361}, … (sequence A051254 in the OEIS). Very little is known about the constant A (not even whether it is rational). This formula has no practical value, because there is no known way of calculating the constant without finding primes in the first place.

Note that there is nothing special about the floor function in the formula. Tóth proved that there also exists a constant B such that

{displaystyle lceil B^{r^{n}}rceil }

is also prime-representing for {displaystyle r>2.106ldots }.[12]

In the case r=3, the value of the constant B begins with 1.24055470525201424067… The first few primes generated are:

{displaystyle 2,7,337,38272739,56062005704198360319209,176199995814327287356671209104585864397055039072110696028654438846269,ldots }

Without assuming the Riemann hypothesis, Elsholtz developed several prime-representing functions similar to those of Mills. For example, if {displaystyle Aapprox 1.00536773279814724017}, then {displaystyle leftlfloor A^{10^{10n}}rightrfloor } is prime for all positive integers n. Similarly, if {displaystyle Aapprox 3.8249998073439146171615551375}, then {displaystyle leftlfloor A^{3^{13n}}rightrfloor } is prime for all positive integers n.[13]

Wright’s formula[edit]

Another prime-generating formula similar to Mills’ comes from a theorem of E. M. Wright. He proved that there exists a real number α such that, if

{displaystyle g_{0}=alpha } and
{displaystyle g_{n+1}=2^{g_{n}}} for ngeq 0,

then

{displaystyle leftlfloor g_{n}rightrfloor =leftlfloor 2^{dots ^{2^{2^{alpha }}}}rightrfloor }

is prime for all ngeq 1.[14]
Wright gives the first seven decimal places of such a constant: {displaystyle alpha =1.9287800}. This value gives rise to the primes {displaystyle leftlfloor g_{1}rightrfloor =leftlfloor 2^{alpha }rightrfloor =3}, {displaystyle leftlfloor g_{2}rightrfloor =13}, and {displaystyle leftlfloor g_{3}rightrfloor =16381}. {displaystyle leftlfloor g_{4}rightrfloor } is even, and so is not prime. However, with {displaystyle alpha =1.9287800+8.2843cdot 10^{-4933}}, {displaystyle leftlfloor g_{1}rightrfloor }, {displaystyle leftlfloor g_{2}rightrfloor }, and {displaystyle leftlfloor g_{3}rightrfloor } are unchanged, while {displaystyle leftlfloor g_{4}rightrfloor } is a prime with 4932 digits.[15] This sequence of primes cannot be extended beyond {displaystyle leftlfloor g_{4}rightrfloor } without knowing more digits of alpha . Like Mills’ formula, and for the same reasons, Wright’s formula cannot be used to find primes.

A function that represents all primes[edit]

Given the constant {displaystyle f_{1}=2.920050977316ldots } (sequence A249270 in the OEIS), for ngeq 2, define the sequence

{displaystyle f_{n}=leftlfloor f_{n-1}rightrfloor (f_{n-1}-leftlfloor f_{n-1}rightrfloor +1)}

(1)

where {displaystyle leftlfloor  rightrfloor } is the floor function.
Then for ngeq 1, {displaystyle leftlfloor f_{n}rightrfloor } equals the nth prime:
{displaystyle leftlfloor f_{1}rightrfloor =2},
{displaystyle leftlfloor f_{2}rightrfloor =3},
{displaystyle leftlfloor f_{3}rightrfloor =5}, etc.
[16]
The initial constant {displaystyle f_{1}=2.920050977316} given in the article is precise enough for equation (1) to generate the primes through 37, the 12th prime.

The exact value of f_{1} that generates all primes is given by the rapidly-converging series

{displaystyle f_{1}=sum _{n=1}^{infty }{frac {p_{n}-1}{P_{n}}}={frac {2-1}{1}}+{frac {3-1}{2}}+{frac {5-1}{2cdot 3}}+{frac {7-1}{2cdot 3cdot 5}}+cdots ,}

where p_{n} is the nth prime, and P_{n} is the product of all primes less than p_{n}. The more digits of f_{1} that we know, the more primes equation (1) will generate. For example, we can use 25 terms in the series, using the 25 primes less than 100, to calculate the following more precise approximation:

{displaystyle f_{1}simeq 2.920050977316134712092562917112019.}

This has enough digits for equation (1) to yield again the 25 primes less than 100.

As with Mills’ formula and Wright’s formula above, in order to generate a longer list of primes, we need to start by knowing more digits of the initial constant, f_{1}, which in this case requires a longer list of primes in its calculation.

Plouffe’s formulas[edit]

In 2018 Simon Plouffe conjectured a set of formulas for primes. Similarly to the formula of Mills, they are of the form

{displaystyle left{a_{0}^{r^{n}}right}}

where {displaystyle { }} is the function rounding to the nearest integer. For example, with {displaystyle a_{0}approx 43.80468771580293481} and {displaystyle r=5/4}, this gives 113, 367, 1607, 10177, 102217… Using {displaystyle a_{0}=10^{500}+961+varepsilon } and {displaystyle r=1.01} with varepsilon a certain number between 0 and one half, Plouffe found that he could generate a sequence of 50 probable primes (with high probability of being prime). Presumably there exists an ε such that this formula will give an infinite sequence of actual prime numbers. The number of digits starts at 501 and increases by about 1% each time.[17][18]

Prime formulas and polynomial functions[edit]

It is known that no non-constant polynomial function P(n) with integer coefficients exists that evaluates to a prime number for all integers n. The proof is as follows: suppose that such a polynomial existed. Then P(1) would evaluate to a prime p, so P(1) equiv 0 pmod p. But for any integer k, P(1+kp) equiv 0 pmod p also, so P(1+kp) cannot also be prime (as it would be divisible by p) unless it were p itself. But the only way {displaystyle P(1+kp)=P(1)=p} for all k is if the polynomial function is constant.
The same reasoning shows an even stronger result: no non-constant polynomial function P(n) exists that evaluates to a prime number for almost all integers n.

Euler first noticed (in 1772) that the quadratic polynomial

{displaystyle P(n)=n^{2}+n+41}

is prime for the 40 integers n = 0, 1, 2, …, 39, with corresponding primes 41, 43, 47, 53, 61, 71, …, 1601. The differences between the terms are 2, 4, 6, 8, 10… For n = 40, it produces a square number, 1681, which is equal to 41 × 41, the smallest composite number for this formula for n ≥ 0. If 41 divides n, it divides P(n) too. Furthermore, since P(n) can be written as n(n + 1) + 41, if 41 divides n + 1 instead, it also divides P(n). The phenomenon is related to the Ulam spiral, which is also implicitly quadratic, and the class number; this polynomial is related to the Heegner number 163=4cdot 41-1. There are analogous polynomials for {displaystyle p=2,3,5,11{text{ and }}17} (the lucky numbers of Euler), corresponding to other Heegner numbers.

Given a positive integer S, there may be infinitely many c such that the expression n2 + n + c is always coprime to S. The integer c may be negative, in which case there is a delay before primes are produced.

It is known, based on Dirichlet’s theorem on arithmetic progressions, that linear polynomial functions L(n) = an + b produce infinitely many primes as long as a and b are relatively prime (though no such function will assume prime values for all values of n). Moreover, the Green–Tao theorem says that for any k there exists a pair of a and b, with the property that L(n) = an+b is prime for any n from 0 through k − 1. However, as of 2020, the best known result of such type is for k = 27:

{displaystyle 224584605939537911+18135696597948930n}

is prime for all n from 0 through 26.[19] It is not even known whether there exists a univariate polynomial of degree at least 2, that assumes an infinite number of values that are prime; see Bunyakovsky conjecture.

Possible formula using a recurrence relation[edit]

Another prime generator is defined by the recurrence relation

{displaystyle a_{n}=a_{n-1}+gcd(n,a_{n-1}),quad a_{1}=7,}

where gcd(x, y) denotes the greatest common divisor of x and y. The sequence of differences an+1an starts with 1, 1, 1, 5, 3, 1, 1, 1, 1, 11, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 47, 3, 1, 5, 3, … (sequence A132199 in the OEIS). Rowland (2008) proved that this sequence contains only ones and prime numbers. However, it does not contain all the prime numbers, since the terms gcd(n + 1, an) are always odd and so never equal to 2. 587 is the smallest prime (other than 2) not appearing in the first 10,000 outcomes that are different from 1. Nevertheless, in the same paper it was conjectured to contain all odd primes, even though it is rather inefficient.[20]

Note that there is a trivial program that enumerates all and only the prime numbers, as well as more efficient ones, so such recurrence relations are more a matter of curiosity than of any practical use.

See also[edit]

  • Prime number theorem

References[edit]

  1. ^ Mackinnon, Nick (June 1987), “Prime number formulae”, The Mathematical Gazette, 71 (456): 113–114, doi:10.2307/3616496, JSTOR 3616496, S2CID 171537609.
  2. ^ Willans, C. P. (December 1964), “On formulae for the nth prime number”, The Mathematical Gazette, 48 (366): 413–415, doi:10.2307/3611701, JSTOR 3611701, S2CID 126149459.
  3. ^ Neill, T. B. M.; Singer, M. (October 1965), “To the Editor, The Mathematical Gazette“, The Mathematical Gazette, 49 (369): 303–303, doi:10.2307/3612863, JSTOR 3612863
  4. ^ Goodstein, R. L.; Wormell, C. P. (February 1967), “Formulae For Primes”, The Mathematical Gazette, 51 (375): 35–38, doi:10.2307/3613607, JSTOR 3613607
  5. ^ Wilf, Herbert S. (1982), “What is an answer?”, The American Mathematical Monthly, 89 (5): 289–292, doi:10.2307/2321713, JSTOR 2321713, MR 0653502
  6. ^ Dudley, Underwood (1983), “Formulas for primes”, Mathematics Magazine, 56 (1): 17–22, doi:10.2307/2690261, JSTOR 2690261, MR 0692169
  7. ^ Jones, James P.; Sato, Daihachiro; Wada, Hideo; Wiens, Douglas (1976), “Diophantine representation of the set of prime numbers”, American Mathematical Monthly, Mathematical Association of America, 83 (6): 449–464, doi:10.2307/2318339, JSTOR 2318339, archived from the original on 2012-02-24.
  8. ^ Matiyasevich, Yuri V. (1999), “Formulas for Prime Numbers”, in Tabachnikov, Serge (ed.), Kvant Selecta: Algebra and Analysis, vol. II, American Mathematical Society, pp. 13–24, ISBN 978-0-8218-1915-9.
  9. ^ Jones, James P. (1982), “Universal diophantine equation”, Journal of Symbolic Logic, 47 (3): 549–571, doi:10.2307/2273588, JSTOR 2273588, S2CID 11148823.
  10. ^ Mills, W. H. (1947), “A prime-representing function” (PDF), Bulletin of the American Mathematical Society, 53 (6): 604, doi:10.1090/S0002-9904-1947-08849-2.
  11. ^ Caldwell, Chris K.; Chen, Yuanyou (2005), “Determining Mills’ Constant and a Note on Honaker’s Problem”, Journal of Integer Sequences, 8, Article 05.4.1.
  12. ^ Tóth, László (2017), “A Variation on Mills-Like Prime-Representing Functions” (PDF), Journal of Integer Sequences, 20 (17.9.8), arXiv:1801.08014.
  13. ^ Elsholtz, Christian (2020), “Unconditional Prime-Representing Functions, Following Mills”, American Mathematical Monthly, Washington, DC: Mathematical Association of America, 127 (7): 639–642, arXiv:2004.01285, doi:10.1080/00029890.2020.1751560, S2CID 214795216
  14. ^ E. M. Wright (1951), “A prime-representing function”, American Mathematical Monthly, 58 (9): 616–618, doi:10.2307/2306356, JSTOR 2306356
  15. ^ Baillie, Robert (5 June 2017), “Wright’s Fourth Prime”, arXiv:1705.09741v3 [math.NT]
  16. ^ Fridman, Dylan; Garbulsky, Juli; Glecer, Bruno; Grime, James; Tron Florentin, Massi (2019), “A Prime-Representing Constant”, American Mathematical Monthly, Washington, DC: Mathematical Association of America, 126 (1): 70–73, arXiv:2010.15882, doi:10.1080/00029890.2019.1530554, S2CID 127727922
  17. ^ Steckles, Katie (January 26, 2019), “Mathematician’s record-beating formula can generate 50 prime numbers”, New Scientist
  18. ^ Simon Plouffe (2019), “A set of formulas for primes”, arXiv:1901.01849 [math.NT] As of January 2019, the number he gives in the appendix for the 50th number generated is actually the 48th.
  19. ^ PrimeGrid’s AP27 Search, Official announcement, from PrimeGrid. The AP27 is listed in “Jens Kruse Andersen’s Primes in Arithmetic Progression Records page”.
  20. ^ Rowland, Eric S. (2008), “A Natural Prime-Generating Recurrence”, Journal of Integer Sequences, 11 (2): 08.2.8, arXiv:0710.3217, Bibcode:2008JIntS..11…28R.

Further reading[edit]

  • Regimbal, Stephen (1975), “An explicit Formula for the k-th prime number”, Mathematics Magazine, Mathematical Association of America, 48 (4): 230–232, doi:10.2307/2690354, JSTOR 2690354.
  • A Venugopalan. Formula for primes, twinprimes, number of primes and number of twinprimes. Proceedings of the Indian Academy of Sciences—Mathematical Sciences, Vol. 92, No 1, September 1983, pp. 49–52 errata

External links[edit]

  • Eric W. Weisstein, Prime Formulas (Prime-Generating Polynomial) at MathWorld.

Рисунок 1 – Геодезические измерительные приборы (электронный тахеометр и СЫББ приемник)

Вывод: геодезические работ при комплексных изысканиях объекта является одним из ключевых этапов. Получение основных сведений производится высокой точностью, достижение которых невозможно без использования современных геодезических оборудований.

Список использованной литературы:

1. СНиП 11-02-96 «Инженерные изыскания для строительства» (утв. Минстрой России29.10.1996);

2. «Теодолиты в современной геодезии» Маркова Н.А. В сборнике: Сборник статей X Международного научно-практического конкурса. В 2-х частях. 2017. С. 229-232.

© Рустумханов А.Ф., 2023

УДК 511.313

Сариди Д.Ю.,

студент 6 курса МГМУ им. И.М. Сеченова,

г. Москва, РФ

ФОРМУЛЫ ДЛЯ НАХОЖДЕНИЯ ПРОСТЫХ ЧИСЕЛ Аннотация

Данная статья посвящена проблеме нахождения простых чисел. Автором рассматриваются известные формулы для нахождение простых чисел, а также вводятся новые.

Ключевые слова:

Простые числа, формулы, распределение простых чисел, теория чисел

Простые числа – одни из центральных математических объектов в теории чисел, изучению которых посвящено огромное количество работ современных математиков. Актуальность проблемы построения формул для нахождения простых чисел обусловлена их (простых чисел) немаловажным значением как в самой математике, так и за пределами ее. «Простые числа нашли широкое применение в банковской сфере при работе с кредитными картами и работе с персональными компьютерами. Потребность в новых

простых числах для генерации секретных кодов постоянно существует (чем больше, тем лучше)» [1, с. 9]. В самой же математике построение математических формул для нахождения простых чисел позволяет ответить на вопросы, касаемые распределения простых чисел внутри множества натуральных чисел с добавленным числом 0 (N0). Также стоит отметить то, что построение формул нахождения простых чисел и доказательство теорем о простых числах актуально и по причине того, что то и другое является самоцелью в научных разработках в области теории чисел.

Перед тем как приступать к рассмотрению формул простых чисел следует вкратце представить то, что из себя представляет простое число. «Простое число — это натуральное число, большее 1, которое не может быть выражено как произведение двух меньших натуральных чисел. Например, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79 и т.д.» [2, с. 6]. Существует как минимум две известные математические формулы для нахождения простых чисел. Одна из них представлена выдающимся математиком восемнадцатого века – Леонардом Эйлером. Выглядит она следующим образом: п*п-п+41. Данная формула позволяет при всяком п|п£ N0; п<41; находить простые числа. Математикам также известна следующая формула: пхп+п+17. Данная формула позволяет найти лишь 17 простых чисел. Мною построены следующие формулы для нахождения простых чисел:

1)2*п*п+11

2)2*п*п+29

3)п*п+3*п+19

4)п*п+3*п+223

Нетрудно заметить то, что формулы: №:1) и №2) представляют одинаковую последовательность математических действий, кроме последнего действия, как и формулы: №3) и №4). Все четыре формулы я вписываю вместе с их результатами в таблицы:

1)

2)

п 2*П*П+11

0 11 2*0*0-1-11

5 61 2*5*5+11

10 211 2*10*10+11

15 461 2*15*15+11

20 Ell 2*20*20+11

25 1261 2*25*25+11

п 2*п*п+29

0 2Э 2*0*0+29

5 7Э 2*5*5+29

10 229 2*10*10+29

15 479 2*15*15+29

20 S 29 2*20*20+29

25 1279 2*25*25+29

30 1329 2*30*30+29

3)

4)

п n*n+3*n+19

0 19 0*0+3*0+19

5 59 5*5+3*5+19

10 149 10*10+3*10-19

15 239 15*15+3*15-19

п n”n+3*n+223

0 223 0*0+3*0+223

5 263 5*5+3*5+223

10 353 10*10+3*10-223

15 493 15*15+3*15-223

Список использованной литературы:

1.«ПРОСТЫЕ ЧИСЛА МЕРСЕННА» Международный научный журнал «Символ науки» №6/2021 Бенгина Т.А.

2.«СТРУКТУРА И СЛУЧАЙНОСТЬ ПРОСТЫХ ЧИСЕЛ» журнал: «Вестник магистратуры» 2020. №4-2(103) Бюрчиев К.А., Гаваев Б.С

© Сариди Д.Ю., 2023

Красивые аномалии встречаются в каждом предмете, но если есть одна область красоты, с которой согласится большинство математиков, то это простое число.

Эти числа занимают уникальный пьедестал в математике, особенно в области теории чисел. Великие умы потратили бесчисленные часы для расследования этой проблемы, в том числе такие великие умы, как Пол Эрдос, Г.Х. Харди и Сриниваса Рамануджан, и это лишь некоторые из них. Теперь, прежде чем мы углубимся в различные алгоритмы, чтобы найти простые числа, давайте сначала установим предварительное понимание простых чисел.

Что такое простые числа?

Самое техническое определение простых чисел состоит в том, что это натуральное число больше 1 и может быть получено только путем умножения 1 и самого себя. Если бы понимание натуральных чисел было более интуитивным, то можно было бы сказать, что это числа, которые мы используем для подсчета.

Чтобы понять это более точно, давайте выберем два числа – 5 и 6. Теперь 5 – это число, которое можно получить только умножением на 1 и 5 (само число). Однако, когда мы берем число 6, то замечаем, что его можно получить другим способом, кроме умножения 1 и 6 (само число). Его также можно получить умножением чисел 2 и 3, что означает, что это не простое число. Число, которое не является простым, известно как составное число.

Метод Марена Мерсенна

Метод простого числа Мерсенна – это специальный метод нахождения определенного вида простого числа, известный как простые числа Мерсенна. Название для этого метода происходит от французского монаха Марин Мерсенн, который первым определил его. Простые числа Мерсенна – это те, которые сводимы к виду 2n-1, где n-простое число. Первые несколько чисел в этом методе являются 2, 3, 5, 7, 13, 17, 19, 31, 61, и 89. Долгое время метод простых чисел Мерсенна представлял собой тяжёлую работу, так как при переходе к более высоким простым числам он был очень трудоемким.

Марен Мерсенн Французский математик

Однако, с появлением компьютеров, они теперь могли выполнять эти вычислительные вычисления, которые раньше делались людьми самым кропотливым и трудоемким образом. Мы определенно достигли более высоких простых чисел Мерсенна и простых чисел на общем уровне. Поиск простых чисел так же активен, как и другие численные поиски, выполняемые компьютерами. Другой числовой поиск, аналогичный движению простых чисел, заключается в добавлении десятичных разрядов к некоторым иррациональным числам, таким как пи (отношение длины окружности к диаметру). Однако непрерывный поиск следующего по величине простого числа существенно сложнее, чем поиск следующей цифры числа Пи.

Даже самые большие компьютеры (суперкомпьютеры) тратят значительное количество времени, чтобы проверить, является ли новое число (которое обычно ошеломляюще огромным) само по себе простым числом, и требуется еще больше времени, чтобы проверить, является ли число основным числом Мерсенна. По этой причине числа Мерсенна представляют большой интерес в области кибербезопасности и криптографии, особенно в отношении шифрования.

В августе 2008 года системный администратор UCLA Эдсон Смит нашел наиболее значимое простое число, известное на тот момент. Смит установил программное обеспечение для Great Internet Mersenne Prime Search (Gimps), проекта распределенных вычислений на добровольной основе. Это число было простым числом Мерсенна длиной 12 978 189 цифр. Чтобы дать представление о том, насколько он велик, на его написание уйдет почти два с половиной месяца, а в случае печати он растянется на 50 км!

Метод простых чисел Ферма

Число Ферма, как и число Мерсенна, представляет собой особый вид простого числа. Название происходит от математика 17-го века и юриста Пьера де Ферма. Число Ферма похоже на число Мерсенна… с одной маленькой поправкой. Давайте возьмем число Ферма Fm, где мы можем определить Fm как 2m +1. Здесь m снова равно 2, возведенному в степень n или 2n.

Пьер де Ферма (фр. Pierre de Fermat, 17 августа 1601 — 12 января 1665) — французский математик-самоучка, один из создателей аналитической геометрии, математического анализа, теории вероятностей и теории чисел.

Фермат был твердо убежден в том, что все числа вышеуказанной формы – это простые числа. В дальнейшем он сказал, что он будет производить простые числа для всех целочисленных значений m. Что делает эти числа уникальными и красивыми, но очень хитрыми, так это то, что простые числа становятся чрезвычайно большими очень быстро, даже в пределах первых четырех итераций. Чтобы доказать это, возьмем n в качестве следующих значений, n=0, 1, 2, 3 и 4.

Когда n = 0, m = 20 = 1; поэтому F0 = 2 1 + 1 = 2 + 1 = 3, что является простым. Когда n = 1, m = 21 = 2; поэтому F1 = 22 + 1 = 4 + 1 = 5, что является простым. Когда n = 2, m = 22 = 4; следовательно, F2 = 24 + 1 = 16 + 1 = 17, что является простым. Когда n = 3, m = 23 = 8; следовательно, F3 = 28 + 1 = 256 + 1 = 257, что является простым. Когда n = 4, m = 24 = 16; следовательно, F4 = 216 + 1 = 65536 + 1 = 65537, что является простым числом. Теперь, как вы можете заметить, к тому времени, когда мы достигнем F5, значение достигает 4 294 967 297.

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

Алгоритмы поиска простых чисел

Время на прочтение
6 мин

Количество просмотров 134K

«Самое большое простое число 232582657-1. И я с гордостью утверждаю, что запомнил все его цифры… в двоичной форме».
Карл Померанс

Натуральное число называется простым, если оно имеет только два различных делителя: единицу и само себя. Задача поиска простых чисел не дает покоя математикам уже очень давно. Долгое время прямого практического применения эта проблема не имела, но все изменилось с появлением криптографии с открытым ключом. В этой заметке рассматривается несколько способов поиска простых чисел, как представляющих исключительно академический интерес, так и применяемых сегодня в криптографии.

Решето Эратосфена

Решето Эратосфена — алгоритм, предложенный древнегреческим математиком Эратосфеном. Этот метод позволяет найти все простые числа меньше заданного числа n. Суть метода заключается в следующем. Возьмем набор чисел от 2 до n. Вычеркнем из набора (отсеим) все числа делящиеся на 2, кроме 2. Перейдем к следующему «не отсеянному» числу — 3, снова вычеркиваем все что делится на 3. Переходим к следующему оставшемуся числу — 5 и так далее до тех пор пока мы не дойдем до n. После выполнения вышеописанных действий, в изначальном списке останутся только простые числа.

Алгоритм можно несколько оптимизировать. Так как один из делителей составного числа n обязательно

$leqslant sqrt{n}$, алгоритм можно останавливать, после вычеркивания чисел делящихся на

$sqrt{n}$.

Иллюстрация работы алгоритма из Википедии:

image

Сложность алгоритма составляет

$O(n loglog n)$, при этом, для хранения информации о том, какие числа были вычеркнуты требуется

$O(n)$ памяти.

Существует ряд оптимизаций, позволяющих снизить эти показатели. Прием под названием wheel factorization состоит в том, чтобы включать в изначальный список только числа взаимно простые с несколькими первыми простыми числами (например меньше 30). В теории предлагается брать первые простые примерно до

$sqrt{log n}$. Это позволяет снизить сложность алгоритма в

$loglog n$ раз. Помимо этого для уменьшения потребляемой памяти используется так называемое сегментирование. Изначальный набор чисел делится на сегменты размером

$leqslant sqrt{n}$ и для каждого сегмента решето Эратосфена применяется по отдельности. Потребление памяти снижается до

$O(sqrt{n})$.

Решето Аткина

Более совершенный алгоритм отсеивания составных чисел был предложен Аткином и Берштайном и получил название Решето Аткина. Этот способ основан на следующих трех свойствах простых чисел.

Свойство 1

Если n — положительное число, не кратное квадрату простого числа и такое, что

$n equiv 1(mod 4)$. То n — простое, тогда и только тогда, когда число корней уравнения

$4x^2+y^2=n$ нечетно.

Свойство 2

Если n — положительное число, не кратное квадрату простого числа и такое, что

$n equiv 1(mod 6)$. То n — простое, тогда и только тогда, когда число корней уравнения

$3x^2+y^2=n$ нечетно.

Свойство 3

Если n — положительное число, не кратное квадрату простого числа и такое, что

$n equiv 11(mod 12)$. То n — простое, тогда и только тогда, когда число корней уравнения

$3x^2-y^2=n$ нечетно.

Доказательства этих свойств приводятся в этой статье.

На начальном этапе алгоритма решето Аткина представляет собой массив A размером n, заполненный нулями. Для определения простых чисел перебираются все

$x, y < sqrt n$. Для каждой такой пары вычисляется

$4x^2+y^2$,

$3x^2+y^2$,

$3x^2-y^2$ и значение элементов массива

$A[4x^2+y^2]$,

$A[3x^2+y^2]$,

$A[3x^2-y^2]$ увеличивается на единицу. В конце работы алгоритма индексы всех элементов массива, которые имеют нечетные значения либо простые числа, либо квадраты простого числа. На последнем шаге алгоритма производится вычеркивание квадратов оставшихся в наборе чисел.

Из описания алгоритма следует, что вычислительная сложность решета Аткина и потребление памяти составляют

$O(n)$. При использовании wheel factorization и сегментирования оценка сложности алгоритма снижается до

$O(n / loglog n)$, а потребление памяти до

$O(sqrt{n})$.

Числа Мерсенна и тест Люка-Лемера

Конечно при таких показателях сложности, даже оптимизированное решето Аткина невозможно использовать для поиска по-настоящему больших простых чисел. К счастью, существуют быстрые тесты, позволяющие проверить является ли заданное число простым. В отличие от алгоритмов решета, такие тесты не предназначены для поиска всех простых чисел, они лишь способны сказать с некоторой вероятностью, является ли определенное число простым.

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

$2^p-1$, где p — натуральное число. Такие числа называются числами Мерсенна.

Тест Люка-Лемера утверждает, что число Мерсенна

$M_p=2^p-1$ простое тогда и только тогда, когда p — простое и

$M_p$ делит нацело

$(p-1)$-й член последовательности

$S_k$ задаваемой рекуррентно:

$S_1=4, S_k=S_{k-1}^2-2$ для

$k > 1$.

Для числа

$M_p$ длиной p бит вычислительная сложность алгоритма составляет

${displaystyle O(p^{3})}$.

Благодаря простоте и детерминированности теста, самые большие известные простые числа — числа Мерсенна. Самое большое известное простое число на сегодня —

$2^{82,589,933}-1$, его десятичная запись состоит из 24,862,048 цифр. Полюбоваться на эту красоту можно здесь.

Теорема Ферма и тест Миллера-Рабина

Простых чисел Мерсенна известно не очень много, поэтому для криптографии с открытым ключом необходим другой способ поиска простых чисел. Одним из таким способов является тест простоты Ферма. Он основан на малой теореме Ферма, которая гласит, что если n — простое число, то для любого a, которое не делится на n, выполняется равенство

$a^{n-1}equiv 1{pmod {n}}$. Доказательство теоремы можно найти на Википедии.

Тест простоты Ферма — вероятностный тест, который заключается в переборе нескольких значений a, если хотя бы для одного из них выполняется неравенство

$a^{n-1} notequiv 1 pmod n$, то число n — составное. В противном случае, n — вероятно простое. Чем больше значений a использовано в тесте, тем выше вероятность того, что n — простое.

К сожалению, существуют такие составные числа n, для которых сравнение

$a^{n-1}equiv 1{pmod {n}}$ выполняется для всех a взаимно простых с n. Такие числа называются числам Кармайкла. Составные числа, которые успешно проходят тест Ферма, называются псевдопростыми Ферма. Количество псевдопростых Ферма бесконечно, поэтому тест Ферма — не самый надежный способ определения простых чисел.

Тест Миллера-Рабина

Более надежных результатов можно добиться комбинируя малую теорему Ферма и тот факт, что для простого числа p не существует других корней уравнения

$x^2 equiv 1 pmod p$, кроме 1 и -1. Тест Миллера-Рабина перебирает несколько значений a и проверяет выполнение следующих условий.

Пусть p — простое число и

$p-1=2^sd$, тогда для любого a справедливо хотя бы одно из условий:

  1. $a^{d}equiv pm1{pmod {p}}$
  2. Существует целое число r < s такое, что $a^{2^{r}d}equiv -1{pmod {p}}$

По теореме Ферма

$a^{p-1}equiv1pmod p$, а так как

$p-1=2^sd$ из свойства о корнях уравнения

$x^2 equiv 1 pmod p$ следует что если мы найдем такое a, для которого одно из условий не выполняется, значит p — составное число. Если одно из условий выполняется, число a называют свидетелем простоты числа n по Миллеру, а само число n — вероятно простым.

Чем больше свидетелей простоты найдено, тем выше вероятность того, что n — простое. Согласно теореме Рабина вероятность того, что случайно выбранное число a окажется свидетелем простоты составного числа составляет приблизительно

$1/4$.

Следовательно, если проверить k случайных чисел a, то вероятность принять составное число за простое

$approx(1/4)^k$.

Сложность работы алгоритма

$O(klog^3p)$, где k — количество проверок.

Благодаря быстроте и высокой точности тест Миллера-Рабина широко используется при поиске простых чисел. Многие современные криптографические библиотеки при проверке больших чисел на простоту используют только этот тест и, как показал Мартин Альбрехт в своей работе , этого не всегда оказывается достаточно.

Он смог сгенерировать такие составные числа, которые успершно прошли тест на простоту в библиотеках OpenSSL, CryptLib, JavaScript Big Number и многих других.

Тест Люка и Тест Baillie–PSW

Чтобы избежать уязвимости, связанные с ситуациями, когда сгенерированное злоумышленником составное число, выдается за простое, Мартин Альбрехт предлагает использовать тест Baillie–PSW. Несмотря на то, что тест Baillie–PSW является вероятностным, на сегодняшний день не найдено ни одно составное число, которое успешно проходит этот тест. За нахождение подобного числа в 1980 году авторы алгоритма пообещали вознаграждение в размере $30. Приз пока так и не был востребован.

Ряд исследователей проверили все числа до

$2^{64}$ и не обнаружили ни одного составного числа, прошедшего тест Baillie–PSW. Поэтому, для чисел меньше

$2^{64}$ тест считается детерминированным.

Суть теста сводится к последовательной проверке числа на простоу двумя различными методами. Один из этих методов уже описанный выше тест Миллера-Рабина. Второй — тест Люка на сильную псевдопростоту.

Тест Люка на сильную псевдопростоту

Последовательности Люка — пары рекуррентных последовательностей

${U_{n}(P,Q)}, {V_{n}(P,Q)}$, описываемые выражениями:

${displaystyle U_{0}(P,Q)=0,quad U_{1}(P,Q)=1,quad U_{n+2}(P,Q)=Pcdot U_{n+1}(P,Q)-Qcdot U_{n}(P,Q),,ngeq 0}$

${displaystyle V_{0}(P,Q)=2,quad V_{1}(P,Q)=P,quad V_{n+2}(P,Q)=Pcdot V_{n+1}(P,Q)-Qcdot V_{n}(P,Q),,ngeq 0}$

Пусть

$U_n(P,Q)$ и

$V_n(P,Q)$ — последовательности Люка, где целые числа P и Q удовлетворяют условию

${displaystyle D=P^{2}-4Qneq 0}$

Вычислим символ Якоби:

$left({frac {D}{p}}right)=varepsilon$.

Найдем такие r, s для которых выполняется равенство

$n-ε=2^rs$

Для простого числа n выполняется одно из следующих условий:

  1. n делит $U_s$
  2. n делит $V_{2^js}$ для некоторого j < r

В противном случае n — составное.

Вероятность того, что составное число n успешно пройдет тест Люка для заданной пары параметров P, Q не превышает 4/15. Следовательно, после применения теста k раз, эта вероятность составляет

$(4/15)^k$.

Тесты Миллера-Рабина и Люка производят не пересекающиеся множества псевдопростых чисел, соответственно если число p прошло оба теста, оно простое. Именно на этом свойстве основывается тест Baillie–PSW.

Заключение

В зависимости от поставленной задачи, могут использоваться различные методы поиска простых чисел. К примеру, при поиске больших простых чисел Мерсенна, сперва, при помощи решета Эратосфена или Аткина определяется список простых чисел до некоторой границы, предположим, до

$10^8$. Затем для каждого числа p из списка, с помощью теста Люка-Лемера, на простоту проверяется

$M_p=2^p-1$.

Чтобы сгенерировать большое простое число в криптографических целях, выбирается случайное число a и проверяется тестом Миллера-Рабина или более надежным Baillie–PSW. Согласно теореме о распределении простых чисел, у случайно выбранного числа от 1 до n шанс оказаться простым примерно равен

${frac {1}{ln n}}$. Следовательно, чтобы найти простое число размером 1024 бита, достаточно перебрать около тысячи вариантов.

P.S. Исходники

Реализацию всех описанных алгоритмов на Go можно посмотреть на GitHub.

Добавить комментарий