Помогите, пожалуйста, господа-программисты. По алгебре было задание найти последнюю цифру числа 333^335. Я решил, получилось 7. Для уверенности проверил в Паскале (PascalABC), т.к. с другими языками программирования я плохо знаком. Написал вот такую примитивную программу:
var a,n,cifra:integer;
begin
a:=333;
n:=1;
repeat
begin
a:=(a*333);
n:=n+1;
cifra:=(a mod 10);
end
until n=335;
write('последняя цифра = ',cifra);
end.
Всё бы хорошо, но Паскаль мне говорит: "последняя цифра = 1". Тут я уж не поленился и полностью расписал вручную все значения степени до 335 (периодом подбирал: 5степень - 3, 15степень - 7, 25степень - 3, 35степень - 7 и т.д.), и у меня всё равно вышло значение 7. Я так полагаю, что программе просто тяжело так много считать, и где-то она сбилась. Скажите, пожалуйста, можно ли решить эту задачу в паскале, и, если нет, то можно ли её решить в каком-нибудь другом языке программирования? Заранее благодарю.
var a,n,cifra:integer;
begin
a:=333;
n:=1;
repeat
begin
a:=(a*333);
n:=n+1;
cifra:=(a mod 10);
end
until n=335;
write('последняя цифра = ',cifra);
end.
Всё бы хорошо, но Паскаль мне говорит: "последняя цифра = 1". Тут я уж не поленился и полностью расписал вручную все значения степени до 335 (периодом подбирал: 5степень - 3, 15степень - 7, 25степень - 3, 35степень - 7 и т.д.), и у меня всё равно вышло значение 7. Я так полагаю, что программе просто тяжело так много считать, и где-то она сбилась. Скажите, пожалуйста, можно ли решить эту задачу в паскале, и, если нет, то можно ли её решить в каком-нибудь другом языке программирования? Заранее благодарю.