Факториал числа в Java: методы и примеры

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

  1. Итеративный метод:
    Этот метод вычисляет факториал, используя цикл для умножения чисел от 1 до заданного числа.
public static int factorialIterative(int number) {
    int factorial = 1;
    for (int i = 1; i <= number; i++) {
        factorial *= i;
    }
    return factorial;
}
  1. Рекурсивный метод.
    Этот метод использует рекурсивную функцию для вычисления факториала. Он вызывает себя с меньшим номером, пока не будет достигнут базовый случай.
public static int factorialRecursive(int number) {
    if (number <= 1) {
        return 1;
    }
    return number * factorialRecursive(number - 1);
}
  1. Метод Stream (Java 8+):
    Этот метод использует API Java 8 Stream и операцию reduceдля вычисления факториала.
import java.util.stream.LongStream;
public static long factorialStream(int number) {
    return LongStream.rangeClosed(1, number)
            .reduce(1, (long a, long b) -> a * b);
}
  1. Метод BigInteger.
    Если вам нужно вычислить факториалы больших чисел, вы можете использовать класс BigInteger, который обеспечивает арифметику произвольной точности.
import java.math.BigInteger;
public static BigInteger factorialBigInteger(int number) {
    BigInteger factorial = BigInteger.ONE;
    for (int i = 1; i <= number; i++) {
        factorial = factorial.multiply(BigInteger.valueOf(i));
    }
    return factorial;
}

Это некоторые из распространенных методов вычисления факториала числа в Java.