Největším společným dělitelem (nsd, greatest common divisor (zkratka: gcd)) přirozených čísel n_{1},\\; n_{2}, \\cdots,\\; n_{x} je číslo, které dělí každé z těchto čísel, a je maximální.

Výpočet

Rozklad na prvočísla

Nejjednodušším způsobem výpočtu největšího společného dělitele je rozložit jednotlivá zkoumaná čísla n_{1},\\; n_{2}, \\cdots,\\; n_{x} na prvočísla a z nich vybrat prvočinitele v nejmenší společné mocnině (nejmenším z exponentů). Vynásobením prvočinitelů v příslušných mocninách získáme největšího společného dělitele daných čísel.

Příklad

Jaký je nejvyšší společný dělitel čísel 72, 48 a 54?

72 = 2\\cdot 2\\cdot 2\\cdot 3\\cdot 3 = 2^{3} \\cdot  3^{2}
48 = 2\\cdot 2\\cdot 2\\cdot 2\\cdot 3 = 2^{4} \\cdot  3^{1}
54 = 2\\cdot 3\\cdot 3\\cdot 3 = 2^{1} \\cdot  3^{3}
gcd(72,\\; 48,\\; 54) = 2^{1}\\cdot 3^{1} = 2\\cdot 3 = 6

Příklad

Jaký je nejvyšší společný dělitel čísel 288 a 420?

288 = 2 \\cdot 2 \\cdot 2 \\cdot 2 \\cdot 2 \\cdot 3 \\cdot 3 = 2^{5} \\cdot 3^{2}
420 = 2 \\cdot 2 \\cdot 3 \\cdot 5 \\cdot 7 = 2^{2} \\cdot  3^{1} \\cdot  5^{1} \\cdot 7^{1}
gcd(288,\\; 420) = 2^{2}\\cdot 3^{1} = 2 \\cdot 2 \\cdot 3 = 12

Výše zmíněný postup si můžeme ilustrovat také pomocí Vennova diagramu, v němž budou čísla 288 a 420 reprezentována množinami svých prvočíselných dělitelů. V průniku těchto množin nalezneme největšího společného dělitele zmíněných čísel.

Největší společný dělitel pomocí Vennova diagramu
Největší společný dělitel pomocí Vennova diagramu

Euklidův algoritmus

Rozklad na prvočísla (faktorizace) je z výpočetního hlediska velmi náročný problém. Proto pro efektivní výpočet největšího společného dělitele velkých čísel používáme Euklidův algoritmus.

Princip

Vstupem algoritmu jsou dvě přirozená čísla A a B. Algoritmus v každém svém kroku vydělí se zbytkem číslo A číslem B. Pokud zbytek není nulový, tak do A přiřadí číslo B a zbytek po dělení přiřadí do uvolněné proměnné B a celý postup opakuje.

V okamžiku, kdy je zbytek po dělení nulový, je v proměnné B uložen největší společný dělitel čísel A a B.

Pro podrobnější výklad si můžete přečíst tento článek.

Příklad

Jaký je největší společný dělitel čísel 133 a 15?

A = x \\cdot B + zbytek
133 = 8 \\cdot 15 + 13
15 = 1 \\cdot 13 + 2
13 = 6 \\cdot 2 + 1
2 = 2 \\cdot 1 + 0
gcd(133, \\; 15) = 1

Příklad

Jaký je největší společný dělitel čísel 140 a 15?

A = x \\cdot B + zbytek
140 = 9 \\cdot 15 + 5
15 = 3 \\cdot 5 + 0
gcd(140, \\; 15) = 5

Nejmenší společný násobek

Pro získání nejmenšího společného násobku dvou čísel můžeme využít následující přepočet:


lcm(n_{1},\\; n_{2}) = {{n_{1} \\cdot n_{2}} \\over {gcd(n_{1},\\; n_{2})} }

Příklad

Jaký je nejmenší společný násobek čísel 140 a 15?

gcd(140,\\; 15) = 5
lcm(140,\\; 15) = {{140 \\cdot 15} \\over {gcd(140,\\; 15)}} = {{2100} \\over {5}} = 420

Kód

01./**
02. * Vstup: Čísla a > 0, b > 0
03. * Výstup: gcd(a, b)
04. */
05.function gcd(a, b)
06.    if a >= b then
07.        m = a
08.        n = b
09.    else
10.        m = b
11.        n = a
12. 
13.    while n != 0 do
14.        m = p*n + z
15.        m = n
16.        n = z
17. 
18.    return m
01./**
02. * Returns greatest common divisor of the given numbers
03. * @param a number 1
04. * @param b number 2
05. * @return gcd(a, b)
06. */
07.public static int gcd(int a, int b) {
08.    if (a < 1 || b < 1) throw new IllegalArgumentException("a or b is less than 1");
09.    while (b != 0) {
10.        int tmp = a;
11.        a = b;
12.        b = tmp % b;
13.    }
14.    return a;
15.}
01./**
02. * Nejvetsi spolecny delitel cisel "a" a "b"
03. * @param a cislo "a"
04. * @param b cislo "b"
05. * @return gcd(a, b)
06. * @autor Thomas (www.adamjak.net)
07. */
08.int gcd(int a, int b)
09.{
10.    if (a < 1 || b < 1)
11.    {
12.        printf("a or b is less than 1");
13.        return -1;
14.    }
15. 
16.    int r = 0;
17. 
18.    do
19.    {
20.        r = a % b;
21.        a = b;
22.        b = r;
23.    } while (b != 0);
24. 
25.    return a;
26.}
01./**
02. * Nejvetsi spolecny delitel cisel "a" a "b"
03. * @param a cislo "a"
04. * @param b cislo "b"
05. * @return gcd(a, b)
06. * @autor Thomas (www.adamjak.net)
07. */
08.public static int gcd(int a, int b)
09.{
10.    if (a < 1 || b < 1)
11.    {
12.        throw new ArgumentException("a or b is less than 1");
13.    }
14.    int r = 0;
15.    do
16.    {
17.        r = a % b;
18.        a = b;
19.        b = r;
20.    } while (b != 0);
21.    return a;
22.}
01./**
02. * Nejvetsi spolecny delitel cisel "a" a "b"
03. * @param $a cislo "a"
04. * @param $b cislo "b"
05. * @return gcd(a, b)
06. * @autor Thomas (www.adamjak.net)
07. */
08.function gcd($a, $b) {
09.    if ($a < 1 || $b < 1) {
10.        die("a or b is less than 1");
11.    }
12.    $r = 0;
13.    do {
14.        $r = $a % $b;
15.        $a = $b;
16.        $b = $r;
17.    } while ($b != 0);
18.    return $a;
19.}
1.mgcd(X, X, X).
2.mgcd(X, Y, X) :- Y == 0.
3.mgcd(X, Y, R) :- Y > X, mgcd(Y, X, R).
4.mgcd(X, Y, R) :- X > Y, R1 is X mod Y, mgcd(Y,R1,R).

SEO od společnosti Digital Pylon


Online casino s algoritmem

České casino online online slot-vegas.cz

Hrajte nejlepší hry jako je GoodGame Empire.





Zajímavé články: Jak najít práci snů? Zvolte kariéru v IT!, Češi mají rádi hrací automaty online, Jak funguje algoritmické obchodování Casino, Online výuka Algoritmus a online marketing mají svá pravidla, Automaty, Matematický vliv, Ratings, Jak fungují algoritmy hazardních her online: více znalostí, více peněz, SYPWAI - nástroj pro vědecký vývoj, Vynikají na globálním trhu: Nejlepší vývojáři softwaru pro online výherní automaty, Jak si vybrat nejlepší české online casino, Proč byste měli hrát online casino VPN revoluce, Kde najdeme algoritmy v každodenním životě?, Čeká vás pracovní pohovor mimo město? Podívejte se, jak dokonale zvládnout včasný příchod, 5 úžasných technologií ze světa hazardních her, Mirror and access to Mostbet, Svou kancelář můžete mít stále po ruce, Jaké výhody má digitalizovaná firma oproti off-line konkurenci?, Jaký systém vybrat pro snadné řízení výroby?, Nahradí umělá inteligence ajťáky?, Důvody, proč používat SnapTik ke stahování videí TikTok, Dokonalý den na pláži: Co si vzít s sebou, aby byl výlet zábavný a bezpečný?, Jak přežít dlouhý let?, Go pay GoodGame Empire, Blockchain, Rozhovor, Umělá inteligence, Ochranná známka pre softvér: Prečo ju registrovať?, Role kryptografických algoritmů v zabezpečení online kasin, Jaké jsou náklady na nákup 3D tiskárny?, Jak algoritmy vylepšují online zážitky v roce 2025, Epilace laserem a péče o pokožku před a po ní, Byty k pronájmu Sokolov - výhody a rizika pronájmu bytu bez realitky, Filmy a seriály plné hádanek: kryptografie jako hlavní téma


Doporučujeme

Internet pro vaši firmu na míru

https://www.algoritmy.net