Вычислить nCr в Java: факториал, треугольник Паскаля и мультипликативная формула

В Java, если вы имеете в виду вычисление факториала числа с использованием концепции nCr (комбинации), вы можете использовать несколько различных подходов. Вот несколько методов расчета nCr в Java:

  1. Использование формулы факториала:

    • Вы можете вычислить факториал числа с помощью цикла или рекурсии, а затем использовать формулу nCr = n! / (r! * (n – r)!). Вот пример фрагмента кода:
    public static int factorial(int n) {
       if (n == 0)
           return 1;
       else
           return n * factorial(n - 1);
    }
    public static int nCr(int n, int r) {
       return factorial(n) / (factorial(r) * factorial(n - r));
    }
  2. Использование треугольника Паскаля:

    • Треугольник Паскаля представляет собой треугольный массив биномиальных коэффициентов. Вы можете рассчитать значение nCr, обратившись к соответствующему значению в треугольнике. Вот пример фрагмента кода:
    public static int nCr(int n, int r) {
       if (r == 0 || r == n)
           return 1;
       else
           return nCr(n - 1, r - 1) + nCr(n - 1, r);
    }
  3. Использование мультипликативной формулы:

    • Другой подход – мультипликативная формула для nCr. В нем говорится, что nCr = n (n-1)(n-2) (n-r+1) / (r (r-1) (r-2) 1). Вот пример фрагмента кода:
    public static int nCr(int n, int r) {
       int result = 1;
       for (int i = 1; i <= r; i++) {
           result = result * (n - i + 1) / i;
       }
       return result;
    }