Codezeiten wurden in einer geschachtelten for-Schleife in Java ausgeführt

Ich lese gerade das Buch mit dem TitelAlgorithmen von Robert Sedgewick. Beim Lesen von "Analysis of Algorithms" bin ich auf einen Code gestoßen. Der Code lautet wie folgt:

public static int count(int a[]) {
    int N = a.length;
    int cnt = 0;
    for (int i = 0; i < N; i++) {

        for (int j = i + 1; j < N; j++) {
            for (int k = j + 1; k < N; k++) {
                if (a[i] + a[j] + a[k] == 0) {  //here 
                    cnt++;
                }
            }
        }
    } 
    return cnt
}

Ich möchte wissen, wie oft dieif-Statement innerhalb derfor-loop wurde ausgeführt. Die Antwort des Buches lautetN(N-1)(N-2)/6. Aber ich weiß nicht warum, könnte jemand erklären.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage