Процедуры и функции. Линейная рекурсия.

В этом контесте всего две новых задач и...10 старых.
Ваша задача написать для них новое красивое решение. 
Не только с правильными пробелами и отступами. С процедурой или функцией. Условия старых задач у вас уже есть . Для каждой задачи указано какую именно процедуру(функцию) следует написать. Процедуры, которые надо реализовать рекурсивно, помечены знаком ®.
 
Задача А. Гигантские числа
После того, математик Василий вычислил на какие цифры заканчивается 9^9, ему захотелось провести исследование, на какие цифры вообще заканчиваются числа вида N^N. Помогите ему! 
Вход: число 1<=N<=100000000 и 1<=К<=8 — количество цифр, необходимых Василию.
Выход: К последних цифр в одной строке без пробелов(если они есть)..
Примеры:
вход   выход
2 1      4 
14 3     016
3 3      27
Задача B Сокращение дроби
Условие этой задачи полностью совпадает с названием.
Вход: числитель и знаменатель дроби (натуральные до миллиарда)® 
Выход: числитель и знаменатель сокращенной дроби через пробел.
Примеры:
вход   выход
2 4       1 2 
12 15   4 5
Задача С. 1 контест C. Несчастливое число
Функция, принимающая три цифры и определяющая «счастливость» числа
Задача D. 1 контест E. Навстречу
Без циклов
Задача Е. 2 контест A. Шкаф
Функции, возвращающие максимум и минимум из двух данных целых чисел. 
Задача F. 2 контест E. Послезавтра
Функция, определяющая високосный ли данный год
Задача G. 3 контест E. Целые точки отрезка
Функция, вычисляющая NOD
Задача H. 5 контест A. Ценники
Функция, сортирующая переданный ей массив.
Задача I. 5 контест B. Серебряная медаль
Функция, возвращающая второй максимум (без повторов) в данном массиве.
Задача J. 4 контест С. Контроперация
Функция, возвращающая максимум в данном массиве.
Задача K. 5 контест D. Двойной переворот
Процедура, переворачивающая часть массива 
Задача L. 7 контест C. Спираль
Без циклов