Informatica is geboren uit de Wiskunde. 'T is daarom wel logisch dat er altijd een zekere wiskundige basis verwacht wordt; al is het desnoods maar om het kritisch wetenschappelijk denken aan te leren.
Bij een probleem hebt ge altijd de naïve oplossing, het is bij het redeneren van een efficiënte oplossing en het bewijzen van zijn efficiëntie dat de wiskunde belangrijk wordt; bij encryptie maakt men vaak gebruik van priemgetallen, omdat deze bepaalde eigenschappen bevatten die rechtstreeks decrypteren moeilijk of onmogelijk maakt.
Stel dat ge voor een encryptie algoritme uw priemgetallen moet berekenen tot een bepaald getal

. De naïve oplossing is een loop van 1 tot x waarbij ge telkens terug gaat loopen om te zien of uw getal i deelbaar is door zijn voorgangers. Da's belachelijk veel rekenwerk en werkt enkel voor kleine x ... een betere oplossing voor dit probleem is bijvoorbeeld om gebruik te maken van de
Zeef van Eratosthenes.
Een ander voorbeeld: stel ge hebt een stream van woorden en het is gegeven dat er 1 woord is dat de stream domineert. Hoe gaat ge dit woord bepalen? Ge kunt een tabel bijhouden waar ge voor elk woord een teller gaat bijhouden, maar dan is het goed mogelijk dat ge uw geheugen verspilt en vervolgens moet ge ook nog eens itereren over uw tabel om het woord met de hoogste teller te selecteren.
Het is echter mogelijk om dit probleem op te lossen met constante plaatscomplexiteit; en de redenering erachter is een telprobleem zoals ge ze ziet bij Discrete Wiskunde.