Умножение по модулю без огромного числа
Показатель неотрицательный. Отрицательное основание сначала приводится к остатку от 0 до модуля.
Результат = основание ^ показатель mod модуль
2^10 mod 1000 = 24
1024 по модулю 1000 равно 24. Калькулятор не возводит 2 в десятую «в лоб», если показатель большой: он удваивает показатель и умножает по модулю, иначе число не влезет. Результат всегда от 0 до модуля минус 1.
Модуль должен быть целым больше нуля. Если нужно именно огромное число, а не остаток, это страница степени, пока хватает разрядности.
Откуда брать числа
- Основание
- Показатель
- Модуль
Пример
2^10 mod 1000 = 1024 mod 1000 = 24.
Вопросы
Зачем не считать степень напрямую?
Уже 2^100 — огромное число. Пошаговое умножение по модулю остаётся маленьким.
Модуль 1?
Остаток любой степени по модулю 1 равен 0.
Нулевая степень?
Даёт 1, в том числе для нулевого основания в этом калькуляторе.