Сайтът все още се разработва и може да има грешки и неточности. Ако забележиш такава, пиши ни на ninelibera@gmail.com.

НОД и НОК

⚙️ В книга VII на „Елементи“ (около 300 г. пр.н.е.) Евклид описва как да намерим най-големия общ на две числа: изваждай по-малкото от по-голямото, докато двете не станат равни. Повече от две хиляди години по-късно Доналд Кнут – един от основателите на компютърните науки – го нарича „най-стария нетривиален алгоритъм, оцелял до наши дни“. И той наистина е оцелял: днес твоят телефон го изпълнява милиони пъти, когато се свързва защитено с банка или изпраща шифровано съобщение.

1. Най-голям общ делител и най-малко общо кратно

🤔 Загадка: Имаш две пръчки – 21 cm и 15 cm. Каква е най-дългата линийка без деления, с която можеш да измериш точно и двете? Отговорът е 3 cm – и има начин да го намериш, без да разлагаш числата на множители.

О

НОД и НОК

Най-големият общ делител НОД(a, b)\text{НОД}(a,\ b) е най-голямото число, което дели и aa, и bb. Най-малкото общо кратно НОК(a, b)\text{НОК}(a,\ b) е най-малкото естествено число, което се дели и на aa, и на bb. Числа с НОД=1\text{НОД} = 1 се наричат взаимно прости – например 8 и 15, макар нито едно от тях да не е просто.
Т

С разлагане на прости множители

НОД е произведението на общите прости множители с по-малкия показател, а НОК – на всички прости множители с по-големия показател. Например 72=23⋅3272 = 2^3 \cdot 3^2 и 60=22⋅3⋅560 = 2^2 \cdot 3 \cdot 5: НОД=22⋅3=12\text{НОД} = 2^2 \cdot 3 = 12, НОК=23⋅32⋅5=360\text{НОК} = 2^3 \cdot 3^2 \cdot 5 = 360. Винаги НОД(a, b)⋅НОК(a, b)=a⋅b\text{НОД}(a,\ b) \cdot \text{НОК}(a,\ b) = a \cdot b.
Доказателство
  1. Записваме aa и bb с едни и същи прости числа (някои показатели може да са 0): a=p1a1⋯pkaka = p_1^{a_1} \cdots p_k^{a_k}, b=p1b1⋯pkbkb = p_1^{b_1} \cdots p_k^{b_k}. Делителите на aa са числата p1c1⋯pkckp_1^{c_1} \cdots p_k^{c_k} с ci≤aic_i \le a_i (виж урока „Делимост и прости числа“).
  2. Общ делител има ci≤aic_i \le a_i и ci≤bic_i \le b_i, т.е. ci≤min⁡(ai, bi)c_i \le \min(a_i,\ b_i). Най-голям е при ci=min⁡(ai, bi)c_i = \min(a_i,\ b_i) – това е НОД.
  3. Общо кратно има показатели ≥ai\ge a_i и ≥bi\ge b_i; най-малкото е с показатели max⁡(ai, bi)\max(a_i,\ b_i) – това е НОК.
  4. За всеки две числа min⁡(x, y)+max⁡(x, y)=x+y\min(x,\ y) + \max(x,\ y) = x + y. Затова при умножаване на НОД и НОК показателите се събират до ai+bia_i + b_i и НОД⋅НОК=ab\text{НОД} \cdot \text{НОК} = ab. Проверка: 12⋅360=4320=72⋅6012 \cdot 360 = 4320 = 72 \cdot 60.

∎

Разлагането е обяснено в урока Делимост и прости числа. С НОК намираме и общ на дроби (виж Дроби и проценти), а с НОД ги съкращаваме.

2. Алгоритъм на Евклид

Разлагането на големи числа е трудно. Евклид забелязва, че всеки общ делител на aa и bb дели и разликата им – а значи и остатъка при деление. Така задачата за големите числа се свежда до същата задача за по-малки.

Т

Алгоритъм на Евклид

Ако a=bq+ra = bq + r, 0≤r<b0 \le r < b, то НОД(a, b)=НОД(b, r)\text{НОД}(a,\ b) = \text{НОД}(b,\ r). Повтаряме деленията с остатък, докато остатъкът стане 0; последният ненулев остатък е НОД.
Защо алгоритъмът работи и защо спира?
  1. Нека a=bq+ra = bq + r. Ако d∣ad \mid a и d∣bd \mid b, то d∣a−bq=rd \mid a - bq = r. Обратно, ако d∣bd \mid b и d∣rd \mid r, то d∣bq+r=ad \mid bq + r = a. Значи двойките (a, b)(a,\ b) и (b, r)(b,\ r) имат едни и същи общи делители – и еднакъв най-голям общ делител.
  2. Остатъците намаляват строго: b>r1>r2>…≥0b > r_1 > r_2 > \ldots \ge 0. Естествените числа не могат да намаляват безкрайно, затова след най-много bb стъпки остатъкът става 0.
  3. Ако последната стъпка е rn−1=q⋅rn+0r_{n-1} = q \cdot r_n + 0, то НОД(rn−1, rn)=rn\text{НОД}(r_{n-1},\ r_n) = r_n, а по първата стъпка НОД не се е променял през целия път. Значи НОД(a, b)=rn\text{НОД}(a,\ b) = r_n.

∎

156633
  1. 21 = 1 · 15 + 6
  2. 15 = 2 · 6 + 3
  3. 6 = 2 · 3 + 0

НОД(21, 15) = 3 – страната на последния, най-малък квадрат.

💡 От правоъгълника a × b отрязваме възможно най-големите квадрати. Остава по-малък правоъгълник – и повтаряме. Квадратът, с който свършваме, има страна НОД(a, b): той пасва точно във всички предишни. Всеки ред отдолу е едно деление с остатък.

Пример

Да намерим НОД(1071, 462)\text{НОД}(1071,\ 462) – примерът, с който Евклид често се илюстрира в учебниците.

  1. 1071=2⋅462+1471071 = 2 \cdot 462 + 147
  2. 462=3⋅147+21462 = 3 \cdot 147 + 21
  3. 147=7⋅21+0147 = 7 \cdot 21 + 0
  4. Последният ненулев остатък е 21: НОД(1071, 462)=21\text{НОД}(1071,\ 462) = 21

3. Тъждество на Безу

Т

Тъждество на Безу

За всеки цели aa и bb (не и двете нули) има цели xx и yy, за които ax+by=НОД(a, b)ax + by = \text{НОД}(a,\ b). Нещо повече – числата от вида ax+byax + by са точно кратните на НОД.

Числата xx и yy се намират, като „развием“ алгоритъма на Евклид отзад напред – това е разширеният алгоритъм на Евклид. Тъждеството обяснява и прочутата задача с каните: всяко количество, което можем да отмерим с кани aa и bb литра, е от вида ax+byax + by.

Доказателство
  1. Разглеждаме всички положителни числа от вида ax+byax + by с цели x, yx,\ y (такива има – например a2+b2a^2 + b^2). Нека d=ax0+by0d = ax_0 + by_0 е най-малкото от тях.
  2. Делим aa на dd с остатък: a=dq+ra = dq + r, 0≤r<d0 \le r < d. Тогава r=a−dq=a(1−qx0)+b(−qy0)r = a - dq = a(1 - qx_0) + b(-qy_0) също е от вида ax+byax + by. Ако r>0r > 0, той би бил по-малък от dd – противоречие. Значи r=0r = 0 и d∣ad \mid a. По същия начин d∣bd \mid b.
  3. Всеки общ делител на aa и bb дели ax0+by0=dax_0 + by_0 = d, следователно не е по-голям от dd. Значи d=НОД(a, b)d = \text{НОД}(a,\ b).
  4. Числата ax+byax + by са точно кратните на dd: всяко такова число се дели на dd (защото d∣ad \mid a и d∣bd \mid b), а kd=a(kx0)+b(ky0)kd = a(kx_0) + b(ky_0).

∎

Пример

Да намерим цели xx и yy с 7x+12y=17x + 12y = 1.

  1. Евклид: 12=1⋅7+512 = 1 \cdot 7 + 5, 7=1⋅5+27 = 1 \cdot 5 + 2, 5=2⋅2+15 = 2 \cdot 2 + 1
  2. Отзад напред: 1=5−2⋅2=5−2(7−5)=3⋅5−2⋅71 = 5 - 2 \cdot 2 = 5 - 2(7 - 5) = 3 \cdot 5 - 2 \cdot 7
  3. =3(12−7)−2⋅7=3⋅12−5⋅7= 3(12 - 7) - 2 \cdot 7 = 3 \cdot 12 - 5 \cdot 7 ⇒ x=−5x = -5, y=3y = 3 (проверка: −35+36=1-35 + 36 = 1 ✓)
A: 0 от 3 lB: 0 от 5 l

Цел: точно 4 l в една от каните. Действия: 0.

💡 Задачата е от филма „Умирай трудно 3“: с кани от 3 и 5 литра трябва да се отмерят точно 4 литра. Всяко количество, което получаваме, е от вида 3x + 5y с цели x и y – затова се получава всичко, кратно на НОД(3, 5) = 1. Пробвай и кани 4 и 6 литра: тогава нечетни количества не стават.

4. Линейни диофантови уравнения

Т

Уравнението ax+by=cax + by = c в цели числа

Нека d=НОД(a, b)d = \text{НОД}(a,\ b). Уравнението има цели решения точно когато d∣cd \mid c. Ако (x0; y0)(x_0;\ y_0) е едно решение, всички решения са x=x0+bdtx = x_0 + \frac{b}{d}t, y=y0−adty = y_0 - \frac{a}{d}t, t∈Zt \in \mathbb{Z}.
Доказателство
  1. Ако има решение, d∣ad \mid a и d∣bd \mid b дават d∣ax+by=cd \mid ax + by = c. Обратно, ако c=kdc = kd, от Безу ax0+by0=dax_0 + by_0 = d и (kx0; ky0)(kx_0;\ ky_0) е решение.
  2. Нека (x0; y0)(x_0;\ y_0) и (x; y)(x;\ y) са решения. Изваждаме: a(x−x0)=−b(y−y0)a(x - x_0) = -b(y - y_0). Делим на dd и означаваме a1=ada_1 = \frac{a}{d}, b1=bdb_1 = \frac{b}{d}: a1(x−x0)=−b1(y−y0)a_1(x - x_0) = -b_1(y - y_0)
  3. Числата a1a_1 и b1b_1 са взаимно прости (ако ee дели и двете, то dede дели aa и bb, значи e=1e = 1). Щом b1b_1 дели a1(x−x0)a_1(x - x_0), по лемата на Евклид (приложена за всеки прост делител на b1b_1) b1∣x−x0b_1 \mid x - x_0, т.е. x=x0+b1tx = x_0 + b_1 t.
  4. Заместваме: a1b1t=−b1(y−y0)a_1 b_1 t = -b_1(y - y_0), откъдето y=y0−a1ty = y_0 - a_1 t. Обратно, всяка такава двойка е решение: a(x0+b1t)+b(y0−a1t)=c+abdt−abdt=ca(x_0 + b_1 t) + b(y_0 - a_1 t) = c + \frac{ab}{d}t - \frac{ab}{d}t = c.

∎

−8−6−4−22468−6−4−22460xy

2x + 3y = 4

НОД(a, b) =1цели точки на чертежа:6

Например x = −7, y = 6. Всички решения: x = −7 + 3t, y = 6 − 2t.

💡 Правата ax + by = c минава през цели точки само когато НОД(a, b) дели c. Тогава точките са на равни разстояния: всяка следваща е с b/d надясно и a/d надолу.

Пример

Да решим 3x+5y=473x + 5y = 47 в естествени числа.

  1. Едно решение: x=14x = 14, y=1y = 1 (42+5=4742 + 5 = 47).
  2. Всички цели решения: x=14−5tx = 14 - 5t, y=1+3ty = 1 + 3t.
  3. И двете са положителни при t=0,1,2t = 0, 1, 2: (14; 1)(14;\ 1), (9; 4)(9;\ 4), (4; 7)(4;\ 7) – три решения.

Уравнения, в които търсим само цели решения, се наричат диофантови – по името на Диофант от Александрия (III век), който пръв ги изучава систематично.

5. Тренажор

НОД, НОК и диофантови уравнения – с алгоритъма на Евклид или с разлагане.

✅ Решени: 0🔥 Серия: 0🏆 Рекорд: 0
2x+9y=222x + 9y = 22

Колко решения има в естествени числа?

6. НОД и НОК около нас

НОД отговаря на въпроса „на колко еднакви части можем да разделим“, а НОК – „кога нещата отново ще съвпаднат“: разписания, зъбни колела, музикални ритми, повтарящи се затъмнения (виж Слънчеви затъмнения).

0 / 6

🍫 Еднакви пакети

Учителка има 84 шоколада и 126 бонбона и иска да ги раздели в еднакви пакети, без да остане нищо. Най-много колко пакета може да направи и колко шоколада и бонбона ще има във всеки?

🚌 Два автобуса

Автобус 94 тръгва от спирката на всеки 12 минути, а автобус 280 – на всеки 18 минути. В 8:00 тръгват заедно. След колко минути отново ще тръгнат заедно?

🧱 Плочки за пода

Под с размери 360 × 240 cm трябва да се покрие с еднакви квадратни плочки, без да се режат. Каква е най-голямата възможна страна на плочката и колко плочки ще трябват?

⚙️ Зъбни колела

Две зъбни колела са захванати: малкото има 24 зъба, голямото – 36. След колко пълни оборота на малкото колело двете ще застанат отново в началното положение? А голямото колко оборота ще е направило?

🪣 Кани от 6 и 9 литра

С кани от 6 и 9 литра (без деления) и неограничено количество вода кое е най-малкото количество, което може да се отмери точно?

💶 Банкноти и монети

Трябва да платите точно 23 € само с банкноти по 5 € и монети по 2 € (без ресто). По колко начина може да стане?

Зелено – решена сам(а), жълто – с решението. Десетичните числа може да пишеш със запетая.

7. ⚠️ Чести грешки

НОК като произведение

✗ НОК(4, 6)=24\displaystyle \text{НОК}(4,\ 6) = 24

✓ НОК(4, 6)=12\displaystyle \text{НОК}(4,\ 6) = 12; произведението е НОК само за взаимно прости числа

Показателите

✗ НОД с по-големите показатели

✓ НОД – по-малките, НОК – по-големите показатели

Взаимно прости

✗ 8 и 9 не са взаимно прости, защото не са прости

✓ НОД(8, 9)=1\displaystyle \text{НОД}(8,\ 9) = 1 – взаимно прости са

Евклид с грешна двойка

✗ НОД(a, b)=НОД(a, r)\displaystyle \text{НОД}(a,\ b) = \text{НОД}(a,\ r)

✓ НОД(a, b)=НОД(b, r)\displaystyle \text{НОД}(a,\ b) = \text{НОД}(b,\ r)

Уравнение без решение

✗ 4x+6y=5\displaystyle 4x + 6y = 5 има цели решения

✓ НОД(4, 6)=2\displaystyle \text{НОД}(4,\ 6) = 2 не дели 5 – няма

Само едно решение

✗ 3x+5y=47\displaystyle 3x + 5y = 47 има решение (14; 1)\displaystyle (14;\ 1) и толкова

✓ решенията са безброй: (14−5t; 1+3t)\displaystyle (14 - 5t;\ 1 + 3t)

8. 🎯 Бърз тест

1 / 9
✓ 0

На колко е равно НОД(12, 18)\displaystyle \text{НОД}(12,\ 18)?

9. 📝 Задачи за упражнение

0 / 0

Ниво А· Областен кръг

Дробите – като 3/2, десетичните – със запетая.

Дробите – като 3/2, десетичните – със запетая.

Дробите – като 3/2, десетичните – със запетая.

Ниво В· Национален кръг

Ниво С· Международна олимпиада

Дробите – като 3/2, десетичните – със запетая.

10. Обобщение

  • ✓ НОД – общите с по-малкия показател; НОК – всички с по-големия
  • ✓ Евклид работи, защото общите делители на (a, b)(a,\ b) и (b, r)(b,\ r) са едни и същи; Безу – чрез най-малкото положително ax+byax + by
  • ✓ НОД(a, b)⋅НОК(a, b)=ab\text{НОД}(a,\ b) \cdot \text{НОК}(a,\ b) = ab; взаимно прости: НОД=1\text{НОД} = 1
  • ✓ Евклид: НОД(a, b)=НОД(b, r)\text{НОД}(a,\ b) = \text{НОД}(b,\ r), докато остатъкът стане 0
  • ✓ Безу: ax+by=НОД(a, b)ax + by = \text{НОД}(a,\ b) има цели решения
  • ✓ ax+by=cax + by = c има цели решения ⇔ d∣cd \mid c; всички: x0+bdt, y0−adtx_0 + \frac{b}{d}t,\ y_0 - \frac{a}{d}t

💡 Интересен факт

Колко бърз е алгоритъмът на Евклид? През 1844 г. Габриел Ламе доказва, че броят на деленията никога не надвишава пет пъти броя на цифрите на по-малкото число. Най-лошият случай са поредните числа на Фибоначи. Това е едно от първите строги изследвания на това колко „струва“ един алгоритъм – идея, която век по-късно става основа на компютърните науки.