Доказ. Нехай (c, b) = d. Маємо: d|b, d|c, отже d|ac, тобто d – дільник ас і b. Нехай тепер (ac, b) = s. Маємо: s|b, s|ac, s – дільник b, тобто або s = 1, або s не поділяє а. Це означає, що s|c, значить s|d. Отже, d і s поділяються один на одного, тобто d = s.
Одним зі способів обчислити найбільший загальний дільник двох чисел є алгоритм Евкліда. От як він виглядає при його описі мовою C++ [5]:
unsigned long NOD(unsigned long x,unsigned long y)
{
unsigned long z=0;
while(x>0)
{
z=x;
x=y%x;
y=z;
}
return z;
}
Кнут у своїй книзі «Искусство программирования» [13] приводить т.зв. розширений алгоритм Евкліда, призначений для рішення діофантових рівнянь першого ступеня виду: ax+by=c, де a, b, c – задані константи (видно, що розширений алгоритм Евкліда будується на основі властивості 3.3.1.).
Розширений алгоритм Евкліда мовою C++ можна описати в такий спосіб:
void Extended_Euclid(long &a,long &b,long &x,long &y,long &NOD)
{
if(a<b)Swap(a,b);
long q,r,x1,x2,y1,y2;
if(b==0)
{
NOD=a;
x=1;
y=0;
return;
}
x2=1,x1=0,y2=0,y1=1;
while(b>0)
{
q=a/b;r=a%b;
x=x2-q*x1;
y=y2-q*y1;
a=b;b=r;
x2=x1;x1=x;y2=y1;y1=y;
}
NOD=a;
x=x2;
y=y2;
}
Визначення 3.4.1. Нехай а, b ÎZ, m ÎN. Говорять, що число а порівнянне з b по модулю m, якщо а і b при розподілі на m дають однакові залишки. Запис цього факту виглядає так: a ºb (mod m). [11]
Перелічимо, далі, властивості порівнянь, схожі на властивості рівнянь.
Властивість 3.4.1. Порівняння по однаковому модулю можна почленно додавати. [11]
Доказ. Нехай a1ºb1(mod m), a2ºb2(mod m). Це означає, що a1=b1+mt1, a2 =b2 +mt2. Після додавання останніх двох рівностей одержимо a1+a2=b1+b2+m (t1+t2), що означає a1+a2 ºb1+b2 (mod m).
Властивість 3.4.2. Доданок, що знаходиться в якій-небудь частині порівняння, можна переносити в іншу частину, змінивши його знак на протилежний. [11]
Доказ.
Властивість 3.4.3. До будь-якої частини порівняння можна додати будь-яке число, що кратне модулю. [11]
Доказ.
Властивість 3.4.4. Порівняння по однаковому модулю можна почленно перемножувати. [11]
Доказ.
Властивість 3.4.5. Обидві частини порівняння можна звести в одну й ту саму ступінь. [11]
Доказ. Для доказу достатньо використати необхідну кількість разів властивість 3.4.4.
Як наслідок з перерахованих вище властивостей, одержуємо наступну властивість:
Властивість 3.4.6. Якщо a0 ºb0 (mod m), a1 ºb1 (mod m),..., an ºbn (mod m), x ºy (mod m), то a0 xn +a1 xn-1 +...+an ºb0 yn +b1 yn-1 +...+bn (mod m) [11]
Властивість 3.4.7. Обидві частини порівняння можна розділити на їхній загальний дільник, взаємно простий з модулем. [11]
Доказ. Нехай a ºb (mod m), a=a1d, b=b1d. Тоді (a1 – b1)×d поділяється на m. Оскільки d і m взаємно прості, то на m поділяється саме (a1 – b1), що означає a1 ºb1(mod m).
Властивість 3.4.8. Обидві частини порівняння і його модуль можна помножити на одне й те саме ціле число або розділити на їхній загальний дільник. [11]
Доказ.
Властивість 3.4.9. Якщо порівняння a ºb має місце по декількох різних модулях, то воно має місце і по модулю, рівному найменшому загальному кратному цих модулів. [11]
Доказ. Якщо a ºb(mod m1) і a ºb(mod m2), то a – b поділяється на m1 і на m2, значить a – b поділяється на найменше загальне кратне m1 і m2.
Властивість 3.4.10. Якщо порівняння має місце по модулю m, то воно має місце і по модулю d, рівному будь-якому дільникові числа m. [11]
Доказ очевидний випливає з транзитивності відносини подільності: якщо a ºb (mod m), то a – b поділяється на m, значить a – b поділяється на d, де d|m.
Властивість 3.4.11. Якщо одна частина порівняння і модуль поділяються на деяке число, то й іншу частину порівняння потрібно поділити на те ж число. [11]
Доказ.
Лема 3.5.1. 1) Будь-які m штук попарно не порівнянних по модулю m чисел утворять повну систему відрахувань по модулю m. [11]
2) Якщо а і m взаємно прості, а x пробігає повну систему відрахувань по модулю m , то значення виду ах+b , де b – будь-яке ціле число, теж пробігають повну систему відрахувань по модулю m.
Доказ. Твердження 1) – очевидно. Доведемо твердження 2). Чисел ах+b рівно m штук. Покажемо, що вони між собою не порівнянні по модулю m. Ну нехай для деяких різних x1 і x2 з повної системи відрахувань виявилося, що ax1+b ºax2+b(mod m). Тоді, по властивостях порівнянь з попереднього пункту, одержуємо:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.