Задание 4 (индивидуальное): метавычисления констант

Указания:

  • Во всех заданиях вычисляемые константы необходимо хранить в контейнерах библиотеки MPL.
  • По возможности следует использовать алгоритмы и представления последовательностей библиотеки MPL вместо явных рекурсивных шаблонов.
  • Задание оформляется в виде метафункции, которой передаётся число или обёртка над константой, и которая возвращает контейнер из обёрток над константами.

  1. Для заданного n вычислить последовательность из k! (k = 0 ... n). Очередной элемент последовательности должен вычисляться из предыдущего: k! = k (k - 1)! Вывести полученную последовательность на печать.

  2. Для заданного n вычислить первые n элементов последовательности чисел Фибоначчи. Вывести полученную последовательность на печать.

  3. Для заданного N вычислить биномиальные коэффициенты Сnk (n = 0 ... N, k = 0 ... n) по рекурсивной формуле: Сnk = Сn - 1k - 1 + Сn - 1k. Полученные коэффициенты распечатать в виде треугольника Паскаля.

  4. Для заданного n вычислить элементы таблицы умножения: i × j (i = 1 ... n, j = 1 ... n). Полученную таблицу вывести на печать.

  5. Для заданного n вычислить последовательность из чисел Каталана. Вывести полученную последовательность на печать.