Pseudocode naar som (volgens mij gewoon een kwestie van de grenzen lezen in de code):
\(\sum_{i = 1}^{n-1} \left(\sum_{j = i+1}^{n} 1 \right)\)
Zoals je ziet is hier de tweede som afhankelijk van i. Dit was bij jou niet het geval (en dat is hetgeen ik aanstipte, maar jij had dat kennelijk niet helemaal goed begrepen).
Een andere manier om het te benaderen: Stel dat je een rij gaat sorteren die precies verkeerd om begint. Je begint dan bij het achterste element (= het kleinste element). Dit element wordt dan dus met alle andere elementen vergeleken om zo uiteindelijk op de eerste plek uit te komen. Dit zijn (n-1) vergelijkingen. Vervolgens wordt het nieuwe achterste element (het op een na kleinste element) met alle andere elementen vergeleken (behalve de eerste) om uiteindelijk op de tweede positie te komen. Ga zo door met alle andere elementen. Hopelijk is het niet lastig om in te zien dat zo alle elementen precies 1x met elkaar vergeleken worden.
Hoeveel vergelijkingen zijn er met n elementen? Elk element wordt met (n-1) andere elementen vergeleken, dus:
\(n \cdot (n-1)\)
Maar nu maak je geen onderscheid tussen de vergelijking (1 met 2) en (2 met 1). Je telt alle paren dus dubbel. Dit leidt tot:
\(\frac{n \cdot (n-1)}{2}\)