Числа Каталана
Числа Каталана
Рассмотрим реализацию алгоритма вычисления чисел Каталана на языке 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