starmaster Ну, для того, чтобы узнать
только последнюю (младшую) цифру результата, не обязательно возводить в степень k все число n. Достаточно возвести "n mod 10" в степень k (то есть последнюю цифру n). Ну а дальше все просто:
N^(Р*K) = (N^K)^Р, то есть достаточно показатель степени (К) разложить на простые множители, и каждый раз последнюю цифру результата возводить в требуемую степень...
Пример:
Найти последнюю цифру 4^24...
24 = 2*2*2*3 => 4^24 = (4^2)^2^2^3
4^2 = 16 ; берем последнюю цифру (6)
6^2 = 36 ; (6)
6^2 = 36 ; (6)
6^3 = 216; (6)
то есть последняя цифра 4^24 должна быть равна 6...
Проверяем: 4^24 = 281474976710656
Я думаю, проблем с реализацией не возникнет... ;)
xds 
Уже всё решили....