Исправления(#1014) Диски(#1016)
#1015

Задача g6_1015: Степень.
Дано два целых положительных числа: a и b.
Требуется написать программу, которая находит цифру, на которую оканчивается число a^b.
Формат входных данных
В первой строке входного файла записаны числа a и b, разделенные пробелом.1 <= a, b <= 10000.
Формат выходных данных
В выходной файл следует записать одну цифру - ту, на которую оканчивается число a^b.
Пример ввода
2 2
Правильный вывод для примера
4
Решение g6_1015:
Это задача 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;

Вот и все! (насколько я помню, два года назад мы эту задачу не решили втроем :( )
Наверх