Вложенные циклы в математическую модель для подсчета количества операций

Я читаю книгу «Алгоритмы - Четвертое издание». Седжвик и Уэйн, и я должен признать, что некоторые части в «Анализ алгоритмов» Глава меня смущает! Вероятно, это связано с моим отсутствием математических знаний ... В любом случае!

Где-то в книге приведен пример программы, в которой говорят, что внутренний цикл выполняется ровно N (N-1) (N-2) / 6 раз. Вот:

    public static int count(int[] a) {
        int count = 0;

        for (int i = 0; i < a.length; i++) {
            for (int j = i + 1; i < a.length; j++) {
                for (int k = j + 1; k < a.length; k++) {
                    if (a[i] + a[j] + a[k] == 0) {
                        count++; 
                    } 
                }
            }
        }
        return count;
    }

Мне знакома большая запись O, но когда дело доходит до подсчета точного количества операций в циклах, я теряюсь. Я понимаю часть N (N-1) (N-2), но почему мы должны делить на 6? Какая логика стоит за этим?

Любая помощь будет принята с благодарностью!

Ответы на вопрос(4)

Ваш ответ на вопрос