Вторая цифра справа от огромного числа

Сейчас я фактически прочитал о модульной арифметике и сумел получить последнюю цифру некоторого числа. Хорошо. Но теперь … Как мне получить вторую последнюю цифру? Второй справа. Я действительно работал над этим несколько часов подряд, пытаясь найти простое решение, это лучшее, что я мог придумать до сих пор, но это все еще не так. Может ли кто-нибудь помочь мне, пожалуйста?

Это то, что я до сих пор

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;
}

заранее спасибо

2

Решение

Поскольку вы спрашивали только о второй последней цифре, как насчет получения двух последних цифр, а затем деления на десять?

То есть, найдите для ^ n mod 100, а затем посмотрите на десятки цифр.

1

Другие решения

Разделите это на десять, округлите вниз, и затем получите последнюю цифру того, что осталось. 🙂

3

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector