Pascal ABC

 

ГЛАВНАЯ
ССЫЛКИ
ОЛИМПИАДНЫЕ ЗАДАНИЯ
Очень простые

Проблема с A и B

Трамвайные билеты

Шифр Цезаря

Четные и нечетные члены последовательности

"Мы вас упакуем!"

Простые

Равновеликие прямоугольники

Скобки

 

Уравнение

 

Вирусы

 

КВН

 

Коррекция кода

 

Степень

 

Демократия в опасности

 

Пуговицы

 

A to B

 

Палиндромы

 

Почти Крэг Туми

 

Виза

 

Ездец

 
Средней сложности  

MIME64

 

Куль хацкеры

 

Редкое имя

 

Города

 

Исправления

 

Банки

 

2^n

 

Ниточка

 

Массивище

 

Знакомые

 

Считаем кораблики

Лошадью ходи!

Левые повороты

Прицельное метание помидор

Анаграммы

Треугольник

Принцип компании

Уникальная строка

Конфуз

K-ичные числа

Михаил Густокашин против бюрократии

Агенты

Игра в слова

Сложные

Диски

Домино

Монеты

Программистика

Хитрющая строка

Робот-сапер

Квадраты

Упаковка простых

Оппозиция

 

Замок

 

Многоугольники

 

Электронные часы

 

Дождик

 

Черепаха

 

Метро

 

Террористы

 

Школы

 
Очень сложные/особо интересные  

Система Защиты

 

Бизнес-классики

 

Телеметрия

 

Лесной пожар

 

Олимпиада

 

Автобусный диспетчер

 

 Кубики

 

Электронная почта

 

Автобус

 

 

 

 

ОЛИМПИАДНЫЕ ЗАДАНИЯ

Олимпиадные задачи с рекомендациями к решениям

Задача 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;
 

Вот и все!

Далее ð





 


 

 

 
 

СЕРВИС

Copyright © 2008 СОШ №2 им. Н.П. Массонова г.Свислочь © Синица А.А.