Kombinatsioonide arvutamine
Vahel võib tekkida huvi teada saada kui mitut moodi on võimalik grupeerida mingis hulgas olevaid elemente:
- Kui mitu võimalust on treeneril viieteistkümne mängija hulgast komplekteerida neljaliikmeline võistkond?
- Kui raamatukogus on 250 erinevat raamatut, siis kui mitu võimalust on lugejal sellest raamatukogust endale koju laenutada kaheksa raamatut?
Erinevate kombinatsioonide arvu leidmiseks saab kasutada valemit
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
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
- 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.
- Programm peab kontrollima sisendandmete vastavust kombinatsioonide arvutamisest tulenevatele tingimustele.
- 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.