Advanced

Калькулятор модульного возведения в степень

Быстро и точно вычислите (base^exponent) mod m с помощью бинарного возведения в степень по квадрату.
Integer base
Non-negative integer
Positive integer
Result: (base^exponent) mod m
9

Computed with exponentiation by squaring

Основание
7
Показатель степени
256
Modulus
13
Result
9
01.63.34.96.58.19.811.413Result lands within [0, m)
Результаты являются ориентировочными и предназначены только для общего ознакомления, а не для профессиональных рекомендаций — всегда самостоятельно проверяйте важные результаты, прежде чем полагаться на них. Читать полный отказ от ответственности.
Быстрый ответ

Как работает этот калькулятор?

Модульное возведение в степень вычисляет (base^exponent) mod m. Вместо прямого вычисления огромной степени используется бинарное возведение в степень по квадрату: на каждом шаге основание возводится в квадрат, а показатель делится пополам; при установленных битах результат умножается на основание, и каждый раз берётся остаток по mod m. Алгоритм выполняет около log2(exponent) умножений и даёт точный результат с большими целыми числами.

Формула
result = (base^exponent) mod m, via squaring: while e > 0, if e is odd result = result·b mod m, then b = b·b mod m, e = e >> 1
How this is calculated

Введите три целых числа: основание b, неотрицательный показатель e и положительный модуль m. Калькулятор возвращает остаток от деления b в степени e на m. Прямое вычисление b^e переполнилось бы при больших показателях, поэтому используется возведение в степень по квадрату (бинарное возведение в степень).

Алгоритм начинает с result = 1 и приводит основание по модулю m. Затем он проходит по битам показателя от младшего к старшему: когда текущий бит равен 1, он умножает накопленный результат на текущее основание (mod m), а на каждом шаге возводит основание в квадрат (mod m) и сдвигает показатель вправо на один бит. Поскольку каждое промежуточное произведение берётся по модулю m, числа остаются небольшими, а объём работы пропорционален log2(e) умножениям вместо e. Все вычисления выполняются с использованием BigInt JavaScript, поэтому результаты точны независимо от размера чисел.

Допущения и граничные случаи: показатель должен быть целым числом e >= 0, а модуль — положительным целым числом m > 0 (mod 0 не определён). Основание может быть отрицательным; оно приводится к диапазону 0..m-1 по формуле ((b mod m) + m) mod m, поэтому возвращаемый остаток всегда неотрицателен. При e = 0 результат равен 1 mod m. При m = 1 результат всегда равен 0.

Часто задаваемые вопросы

При больших показателях b^e имеет астрономический размер и вычисление занимает слишком много времени или невозможно. Взятие остатка по mod m на каждом умножении держит все значения меньше m и завершает работу примерно за log2(e) шагов.

Да. Основание приводится к диапазону 0..m-1 перед циклом по формуле ((b mod m) + m) mod m, поэтому отрицательное основание даёт правильный неотрицательный остаток.

По соглашению b^0 = 1, поэтому результат равен 1 mod m (что равно 0 при m = 1).

Также известен как

модульное возведение в степень
степень по модулю
возведение в степень по модулю
modpow
a в степени b по модулю
быстрое возведение в степень

APA

TG we-Calculate Editorial Team. (2026). Калькулятор модульного возведения в степень [Online calculator]. TG we-Calculate. https://we-calculate.com/ru/calculator/modular-exponentiation-calculator

Chicago

TG we-Calculate Editorial Team. "Калькулятор модульного возведения в степень." TG we-Calculate. 2026. https://we-calculate.com/ru/calculator/modular-exponentiation-calculator.

IEEE

TG we-Calculate Editorial Team, "Калькулятор модульного возведения в степень," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/ru/calculator/modular-exponentiation-calculator

BibTeX

@misc{wecalculate_modular_exponentiation_calculator, title = {Калькулятор модульного возведения в степень}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/ru/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }

Этот калькулятор вам помог?

Похожие калькуляторы