Калькулятор модульного возведения в степень
Быстро и точно вычислите (base^exponent) mod m с помощью бинарного возведения в степень по квадрату.
Computed with exponentiation by squaring
Как работает этот калькулятор?
Модульное возведение в степень вычисляет (base^exponent) mod m. Вместо прямого вычисления огромной степени используется бинарное возведение в степень по квадрату: на каждом шаге основание возводится в квадрат, а показатель делится пополам; при установленных битах результат умножается на основание, и каждый раз берётся остаток по mod m. Алгоритм выполняет около log2(exponent) умножений и даёт точный результат с большими целыми числами.
Формула
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).
Также известен как
TG we-Calculate Editorial Team. (2026). Калькулятор модульного возведения в степень [Online calculator]. TG we-Calculate. https://we-calculate.com/ru/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Калькулятор модульного возведения в степень." TG we-Calculate. 2026. https://we-calculate.com/ru/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Калькулятор модульного возведения в степень," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/ru/calculator/modular-exponentiation-calculator
@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} }
Этот калькулятор вам помог?
