Variace

Mějme n prvků. Pak nazveme každou uspořádanou k-tici (k \\geq n), sestavenou z těchto prvků tak, aby se žádný z nich neopakoval, variací. Speciálním případem variace pro k = n je permutace.

Počet všech k-členných variací z n prvků vypočteme jako:


V(k,\\; n) = n\\cdot(n-1)\\cdot(n-2) \\cdot \\cdots (n - k + 1) = {{n!} \\over {(n-k)!}}

Za předpokladu, že umožníme opakovaný výskyt jednotlivých prvků, tak hovoříme o variaci s opakováním. Počet všech variací s opakováním platí vzorec:


V'(k,\\; n) = n^{k}

Příklad

Vypište všechny 2 členné variace prvků a,\\; b,\\; c,\\; d.

Řešení

V = \\{[a,\\;b],\\;[a,\\;c],\\;[a,\\;d],\\;[b,\\;a],\\;[b,\\;c],\\;[b,\\;d],\\;[c,\\;a],\\;[c,\\;b],\\;[c,\\;d],\\;[d,\\;a],\\;[d,\\;b],\\;[d,\\;c]\\}

Příklad

Vypište všechny 2 členné variace s opakováním prvků a,\\; b,\\; c.

Řešení

V' = \\{[a,\\;b],\\;[a,\\;c],\\;[a,\\;a],\\;[b,\\;a],\\; [b,\\;b],\\;[b,\\;c],\\;[c,\\;a],\\;[c,\\;b],\\;[c,\\;c]\\}

Příklad

Mějme organizaci, která má 20 členů a volí své vedení. Všichni členové kandidují na pozice předsedy, prvního místopředsedy a pokladníka. Každý člen může zastávat maximálně jednu funkci. Kolika různými způsoby může dopadnout volba?

Řešení

Z 20 prvků musíme vybrat tři různé. Zároveň záleží na pořadí jednotlivých prvků, jelikož jsou jednotlivé pozice, na než jsou členové voleni, odlišné. Počítáme proto počet variací (bez opakování) 3 prvků z 20.

V(3,\\; 20) = 20 \\cdot 19 \\cdot 18 = 6840

Vedení organizace může být zvoleno 6840 způsoby.


Příklad

Kolika různými způsoby lze provést hod třemi hracími kostkami?

Řešení

Na každé z kostek může padnou hodnota 1 až 6, počítáme proto variaci 3 prvků ze 6 s opakováním.

V'(3,\\; 6) = 6^{3} = 216

Kostky lze hodit 216 způsoby.


Kód

         /** Autor: Vaclav Kejr */
        public long Variace(int n, int k)
        {
            try
            {
                long pocetVariaci = 1;
                if (n <= 0 && k <= 0)
                {
                    throw new ArgumentException("Argumenty n, k nesmí být menší nebo rovny 0 !", n.ToString());
                }
                else if (n > 0 && k > 0 && n >= k)
                {
                    for (int x = 0; x < k; x++)
                    {
                        pocetVariaci *= n - x;
                    }
                }
                else if (n < 0 && k > 0)
                {
                    throw new ArgumentException("Argument n < 0 a k > 0 !", n.ToString());
                }
                else if (n > 0 && k < 0)
                {
                    throw new ArgumentException("Argument n > 0 a k < 0 !", n.ToString());
                }
                else if (n == 0 && k > 0)
                {
                    throw new ArgumentException("Argument n = 0 a k > 0 !", n.ToString());
                }
                else if (n > 0 && k == 0)
                {
                    throw new ArgumentException("Argument n > 0 a k = 0 !", n.ToString());
                }
                return pocetVariaci;
            }
            catch (SystemException ex)
            {
                Console.WriteLine(ex.ToString());
                return -1;
            }
        }
         

Literatura

  • POLÁK, Josef. Přehled středoškolské matematiky. 8. vydání. Praha 4 : Prometheus, 2005. 608 s.







Doporučujeme