Задача 12: Степень.
Дано два целых положительных числа: a и b.
Требуется написать программу, которая находит цифру, на которую
оканчивается число a^b.
Формат входных данных
В первой строке входного файла записаны числа a и b, разделенные
пробелом.1 <= a, b <= 10000.
Формат выходных данных
В выходной файл следует записать одну цифру - ту, на которую
оканчивается число a^b.
Пример ввода
2 2
Правильный вывод для примера
4
Решение:
Это задача F с командного турнира по программированию "ИМ-Y2K" в
СамГУ.
Эххх... Как все было просто два года назад :) Вообще-то это сейчас
просто, а тогда было сложно... молодость... золотое время... ;)
(если честно, то сейчас мне живется лучше чем два года назад :Р )
Итак, к задаче. Нам надо найти ПОСЛЕДНЮЮ цифру a^b. На последнюю
цифру не влияет никакая цифра, кроме последней цифры числа a^(n-1).
Это упрощает задачу и нам жизнь. Каждый раз нам следует возводить в
степень ТОЛЬКО ПОСЛЕДНЮЮ цифру и при получении числа большего 9
получать ТОЛЬКО ПОСЛЕДНЮЮ цифру. Проиллюстрируем на примере:
if b <>
1 then
for c := 2 to b do begin
last := last * a;
last := last mod 10;
end;
Вот и все!
Далее
ð