Sovellus on suunniteltu tarjoamaan tiettyjä toimintoja, jotka liittyvät diskreetiksi matematiikaksi erotettuun matematiikan haaraan. Sovellus sisältää joitain algoritmeja, lukuteorian osia ja salausta, induktiota ja rekursiota, valittujen edistyneiden laskentamenetelmien toteutusta. Diskreetin matematiikan ja sen sovellusten aiheita (McGraw-Hill Education - Kenneth H. Rosen) on mahdotonta käsitellä yhdessä sovelluksessa, eikä tämä sovellus aseta itselleen sellaista tehtävää.
Sovelluksen algoritmeja ovat (Algoritmitoiminta): algoritmi lineaariseen ja binäärihakuun, lajittelu kuplamenetelmällä ja invertointimenetelmällä, yhdistettyjen parien ja ei-päällekkäisten parien määrittäminen (esimerkiksi tapahtumat, joilla on alku ja loppu kuten luennot).
Kuplalajittelu on yksi yksinkertaisimmista lajittelualgoritmeista, mutta ei tehokkaimmista. Se asettaa listan kasvavaan järjestykseen vertaamalla peräkkäin vierekkäisiä elementtejä ja vaihtamalla niitä keskenään, jos ne ovat väärässä järjestyksessä. Suorittaaksesi kuplalajittelun, suoritetaan perustoiminto, eli vaihdetaan suurempi elementti sitä seuraavaan pienempään, alkaen luettelon alusta täydellistä läpikulkua varten. Toistaa tätä toimenpidettä, kunnes lajittelu on valmis.
Lisäyslajittelu vertaa toista elementtiä ensimmäiseen elementtiin ja lisää sen ennen ensimmäistä elementtiä, jos se ei ylitä ensimmäistä elementtiä, ja ensimmäisen elementin jälkeen, jos se ylittää ensimmäisen elementin. Tässä vaiheessa kaksi ensimmäistä elementtiä ovat oikeassa järjestyksessä. Kolmatta elementtiä verrataan sitten ensimmäiseen elementtiin, ja jos se on suurempi kuin ensimmäinen elementti, sitä verrataan toiseen elementtiin; se asetetaan oikeaan kohtaan kolmen ensimmäisen elementin joukossa. Toimenpide jatkuu samalla tavalla seuraavilla elementeillä luettelon loppuun.
Algoritmeja, jotka tekevät jokaisessa vaiheessa "parhaalta" vaikuttavan valinnan, kutsutaan ahneiksi algoritmeiksi – nämä ovat kaksi algoritmia yhdistetyille pareille ja ei-päällekkäisille pareille.
Ei-päällekkäisiä pareja voidaan käyttää etsimään reittiä kahden kohteen välillä.
Numeronmuunnos- ja kryptografiatoiminto sisältää: - lukujen muuntamisen numerojärjestelmästä toiseen; ja muut.
Sovellusta voidaan käyttää käytännössä muunnettaessa lukuja yhdestä lukujärjestelmästä toiseen (Numeronmuunnostoiminto), aritmeettisissa operaatioissa (Aritmeettiset operaatiot) kokonaisluvuilla eri lukujärjestelmissä (ne sisältyvät kantaan 2,3,4,5,6,7,8,9,16). Aritmeettiset operaatiot ja muunnos eri lukujärjestelmiin suoritetaan kokonaisluvuilla ilman operandien pituuden rajoitusta, ns. BigInteger.
Faktorisointi (faktorointitoiminto) sisältää luvun alkutekijöiden määrittämisen, kahden luvun suurimman yhteisen jakajan määrittämisen ja muita.
BigInteger-tyyppisten pseudosatunnaislukujen generointi (pseudosatunnaisluvut), jotka määritetään bittien pituuden perusteella.
Tekstin salaus (Cryptography Activity) latinalaisista aakkosista(26), tekstien salaus kyrillisillä aakkosilla (30 kirjainta) ja salaus RSA- ja AES-menetelmällä. Kaikilla salausmenetelmillä on mahdollista tallentaa salatut tiedostot laitteen lataushakemistoon, jonka nimissä on teksti AppDiscret.
Salaustekniikassa on tärkeää pystyä löytämään b:n jäännös teholla n jaettuna m:llä tehokkaasti käyttämättä liikaa muistia. Sovelluksella on myös toiminto nopeaan modulaariseen eksponentioon (Fast Modular Exponentiation Activity).
Matemaattinen induktio sovelluksessa sisältää (matemaattisen induktiotoiminnan): ensimmäisen N kokonaisluvun summauksen ja muut
Edistyneet laskentatoiminnot (laskentatoiminto) sisältävät: - bakteerien määrän laskemisen tietyn ajan kuluttua; - Fibonacci-numerot; - Levyn siirtojen määrä Towers of Hanoi -pelissä; ja muut.
Lähes kaikissa toimissa on apua, joka paljastaa lasketut ominaisuudet.