Обратим внимание, что при возведении натурального числа a в натуральную степень n последняя цифра результата определяется, как значение последней цифры d числа a, возведенного в степень n Поскольку операция возведения в степень n сводится к умножению n раз числа самого на себя, то получая при очередном умножении многоразрядное число, мы можем снова принимать в расчет только его младшую цифру. Это позволяет построить цикл на n умножений, каждый раз получая младшую цифру при операции mod.
var a:longint; n,d,i,p:integer; begin Write('Введите натуральное число a: '); Read(a); Write('Введите натуральную степень n: '); Read(n); a:=a mod 10; p:=a; for i:=2 to n do begin a:=a*p; a:=a mod 10 end; Writeln('Последняя цифра равна ',a) end.
Тестовое решение: Введите натуральное число a: 154 Введите натуральную степень n: 9 Последняя цифра равна 4
1) пассажир Иванов живёт в Москве; 2) проводник живёт на полпути между Москвой и Санкт-Петербургом; 3) пассажир-однофамилец проводника живёт в Санкт-Петербурге; 4) у пассажира, который живёт ближе к месту жительства проводника, чем другие пассажиры, вдвое больше детей, чем у проводника; 5) у пассажира Петрова трое детей; 6) Сидоров (из поездной бригады) недавно выиграл у машиниста партию на бильярде
7) п1+п3 = проводник не Иванов. Кто-то из пассажиров живет в С-Петербурге 8) п4+п5+п7 = У Петрова нечетное кол-во детей, значит он не тот кто живет рядом с проводником. Петров живет в С-Петербурге 9) п3+п8 = У проводника фамилия Петров 10) п6+п9 = машинист не Сидоров. Машинист - Иванов
Поскольку операция возведения в степень n сводится к умножению n раз числа самого на себя, то получая при очередном умножении многоразрядное число, мы можем снова принимать в расчет только его младшую цифру.
Это позволяет построить цикл на n умножений, каждый раз получая младшую цифру при операции mod.
var
a:longint;
n,d,i,p:integer;
begin
Write('Введите натуральное число a: '); Read(a);
Write('Введите натуральную степень n: '); Read(n);
a:=a mod 10; p:=a;
for i:=2 to n do
begin a:=a*p; a:=a mod 10 end;
Writeln('Последняя цифра равна ',a)
end.
Тестовое решение:
Введите натуральное число a: 154
Введите натуральную степень n: 9
Последняя цифра равна 4
2) проводник живёт на полпути между Москвой и Санкт-Петербургом;
3) пассажир-однофамилец проводника живёт в Санкт-Петербурге;
4) у пассажира, который живёт ближе к месту жительства проводника, чем другие пассажиры, вдвое больше детей, чем у проводника;
5) у пассажира Петрова трое детей;
6) Сидоров (из поездной бригады) недавно выиграл у машиниста партию на бильярде
7) п1+п3 = проводник не Иванов. Кто-то из пассажиров живет в С-Петербурге
8) п4+п5+п7 = У Петрова нечетное кол-во детей, значит он не тот кто живет рядом с проводником. Петров живет в С-Петербурге
9) п3+п8 = У проводника фамилия Петров
10) п6+п9 = машинист не Сидоров. Машинист - Иванов
ответ: Иванов