Теорема Вілсона

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

В теорії чисел теорема Вілсона стверджує, що натуральне число n>1 є простим в тому і тільки тому випадку коли справджується рівність:

(n1)!  1 modn.

Або ж, в словесному формулюванні: Шаблон:Теорема

Історія

Теорема вперше була сформульована індійським математиком Бхаскарою, а згодом арабським вченим Ібн аль Хайтамом. В Європі її сформулював без доведення англійський математик Джон Вілсон, на честь якого вона названа. Перше відоме доведення дав Лагранж у 1773 році.

Доведення

Нехай p деяке просте число. Елементарними обчисленнями можна переконатися, що теорема справджується для p=2 і p=3. Тож вважатимемо, що p>3. Якщо для деякого цілого справджується рівність:

x21modp,

то справджується також x210modp, або

(x1)(x+1)0modp,

Тож у випадку, якщо 1<x<p1, маємо x=1 або x=p1.

Якщо ж 2<x<p2, тоді існує деяке 2<y<p2, відмінне від x, таке, що xy1modp. Таким чином справджується:

2...(p2)1modp.

Дана рівність еквівалентна наступній:

1...(p1)p1modp,

звідки випливає, що (p1)!+1 ділиться на p. Тоді a | (p1)! і як наслідок

ab | (p1)!b

зважаючи, що p=ab маємо

(p1)!b0modp,

звідки

(p1)!b≢(1)bmodp.

Тому маємо

(p1)! ≢ 1modp

і число (p1)!+1 не ділиться на p.

Застосування теореми

Теорема Вілсона може бути використана для перевірки чисел на простоту. Наприклад відповідний алгоритм на мові С++:

int factorial(int x) {
    if( x == 0 ) return 1;
    return x * factorial (x - 1) % p;
}
bool simpleInt (int p)
{
  return (factorial (p-1)+1)%p==0;
}

Проте через складність обчислення факторіалу даний метод є дуже неефективним.

Дивись також

Література

Українською

Іншими мовами

  • Бухштаб А. А. Теория чисел, 2-е издание, М., 1966
  • Трост Э. Простые числа, пер. с нем., М., 1959