Kombinatsioonide arvutamine

Kirjutada programm, mis arvutaks, mitut erinevat kombinatsiooni on võimalik etteantud elementidest moodustada.

Vahel võib tekkida huvi teada saada kui mitut moodi on võimalik grupeerida mingis hulgas olevaid elemente:

Erinevate kombinatsioonide arvu leidmiseks saab kasutada valemit

Kombinatsioonide arvutamise valem.

Antud valemi abil saab leida, kui mitut erinevat kombinatsiooni on võimalik moodustada n elemendist koosnevast hulgast, kui elemente grupeeritakse k kaupa.

Tähistust n! nimetatakse seejuures n-faktoriaaliks ning tähistab järjestikuste positiivsete täisarvude korrutist, mis avaldub kujul

Faktoriaali leidmise valem.

On ilmne, et n ja k peavad olema positiivsed (elementide koguarv ei saa olla negatiivne, samuti ei saa nende koguhulgast välja valida negatiivse arvu elemente). Samuti peab elementide koguarv peab olema suurem kui nendest elementidest moodustada püütav hulk (). Definitsiooni järgi 0! = 1, mistõttu kui k = n, siis

.

Ülesanne

  1. Kirjutada programm, mis arvutaks kahe sisestatud muutuja n ja k põhjal välja, kui mitu erinevat kombinatsiooni on võimalik antud elementidest sellistel tingimustel moodustada.
  2. Programm peab kontrollima sisendandmete vastavust kombinatsioonide arvutamisest tulenevatele tingimustele.
  3. Faktoriaalide arvutamine tuleb realiseerida algoritmiliselt, s.t. mingeid standardfunktsioone ei ole lubatud kasutada. Seejuures tuleb kõigi kolme faktoriaali arvutamisel kasutada erinevaid tsüklilisi kontrollstruktuure.
  • Raiki Tsirk

    kuidas ma saan arvutada kui mul on x tulbas 10 erinevat lahtrit ja y tulbas kümme. kui need kõrvuti panna siis x1 ja y1 vahel saab valida ainult ühe ja siis x2 ja y2 vahel ühe jne. mitu erinevat võimalust nii on?