Задача A. "Факториал"

Напишите функцию, вычисляющую факториал числа.

function fact(n:longint):longint

Пользуясь этой функцией, напишите программу, вычисляющую N! для натуральных чисел N, не превышающих 12.

Пример вводаПример вывода
1
1
3
6

Задача B. "Cnk"

Используя функцию вычисления факториала, напишите функцию, вычисляющую Cnk, пользуясь формулой Cnk=n!/(k!*(n-k)!)

function cnk(n,k:longint):longint

Пользуясь этой функцией, напишите программу, вычисляющую Cnk для натурального числа n, не превышающего 12, и целого числа k (0≤k≤n).

Пример вводаПример вывода
4 2
6
3 0
1

Примечание. Раньше мы считали числа Cnk с помощью треугольника Паскаля. Как Вы думаете, какой из способов лучше (или какие плюсы и какие минусы у каждого из способов).

Задача C. "Сумма Cnk"

Пользуясь функциями из предыдущей задачи напишите программу, которая для заданного числа N (от 1 до 12) вычислит сумму CNk для заданного N и всех k от 0 до N, т.е. сумму CN0+CN1+...+CNN

Пример вводаПример вывода
2
4

Примечание. Написав программу, внимательно посмотрите на ответы, которые у вас получаются для разных значений N (они не случайные).