Исправления(#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;
Вот и все! (насколько я помню, два года назад мы эту задачу не решили втроем :( )

Наверх