Числа Каталана
Рассмотрим реализацию алгоритма вычисления чисел Каталана на языке Julia.
Введение
В этом примере мы изучим реализацию алгоритма для вычисления чисел Каталана — последовательности натуральных чисел, имеющих важное значение в комбинаторике и других областях математики. Мы рассмотрим, как работает функция вычисления чисел Каталана, а также как она применяется к диапазону значений и к большим числам.
Что такое числа Каталана?
Числа Каталана — это последовательность чисел, которая часто встречается в задачах комбинаторики. Например, они используются для подсчёта количества правильных скобочных последовательностей, числа путей на решётке, числа способов разбиения многоугольника на треугольники и т. д.
Формула для вычисления n-го числа Каталана выглядит так:
где — биномиальный коэффициент.
В коде используется именно эта формула.
# Определяем функцию для вычисления числа Каталана
# n::Integer означает, что аргумент должен быть целым числом
# binomial(2n, n) вычисляет биномиальный коэффициент
# ÷ обозначает целочисленное деление
catalannum(n::Integer) = binomial(2n, n) ÷ (n + 1)
Вычисление чисел Каталана для диапазона от 1 до 15
Функция catalannum.(1:15) применяет функцию catalannum к каждому элементу диапазона от 1 до 15. Точка после имени функции означает векторизацию — применение функции к каждому элементу коллекции.
Результатом будет массив чисел Каталана от 1 до 15.
# Применяем функцию к диапазону от 1 до 15
catalannum.(1:15)
Вычисление 100-го числа Каталана
Для вычисления больших чисел Каталана используется функция big(100), которая преобразует число 100 в тип BigInt. Это позволяет работать с числами, превышающими стандартный размер целочисленных типов, чтобы избежать переполнения.
Результатом будет 100-е число Каталана, представленное в виде большого целого числа.
# Вычисляем 100-е число Каталана, используя BigInt
catalannum(big(100))
Заключение
Мы рассмотрели реализацию алгоритма вычисления чисел Каталана на языке Julia. Была создана функция catalannum, которая использует биномиальные коэффициенты для вычисления чисел Каталана. Мы применили её к диапазону от 1 до 15 и вычислили 100-е число Каталана с использованием BigInt. Это позволяет эффективно работать как с небольшими, так и с большими значениями чисел Каталана. Такие вычисления полезны в комбинаторике, анализе алгоритмов и других областях математики.
Пример разработан с использованием материалов Rosetta Code