Сейчас я фактически прочитал о модульной арифметике и сумел получить последнюю цифру некоторого числа. Хорошо. Но теперь … Как мне получить вторую последнюю цифру? Второй справа. Я действительно работал над этим несколько часов подряд, пытаясь найти простое решение, это лучшее, что я мог придумать до сих пор, но это все еще не так. Может ли кто-нибудь помочь мне, пожалуйста?
Это то, что я до сих пор
long long powmod(long long n, long long exp)
{
long long r, result = 1;
while(exp)
{
r = exp % 2;
exp /= 2;
if(r == 1) result = result * n % 10;
n = (n * n) % 10;
}
return result;
}
заранее спасибо
Поскольку вы спрашивали только о второй последней цифре, как насчет получения двух последних цифр, а затем деления на десять?
То есть, найдите для ^ n mod 100, а затем посмотрите на десятки цифр.
Разделите это на десять, округлите вниз, и затем получите последнюю цифру того, что осталось. 🙂