Написать программу на каком-нибудь языке может кто-угодно . Есть другое, более веселое занятие. Берешь готовый фрагмент кода (или весь код) и пытаешься понять, для чего он предназначен. Зачем это надо? А придется столкнуться с такой проблемой в жизни обязательно: предыдущего программиста выгнали (много пил и редко приходил на работу), а вас взяли на его место. И показали то, что написал до вас сильно ленивый, но зато пьющий программист. Так что тренируйтесь. Первый, кто напишет правильный ответ (можно в комментариях), получит плюс в репутацию. Попробуете? Тогда, вперед. Код внизу.
k := n; b := 1; c:=a;
while k <> 0 do begin
if k mod 2 = 0 then begin
k:= k div 2;
c:= c*c;
end else begin
k := k - 1;
b := b * c;
end;
end;