Kalkulator potęgowania modularnego
Oblicz (podstawa^wykładnik) mod m szybko i dokładnie metodą binarnego potęgowania przez podnoszenie do kwadratu.
Computed with exponentiation by squaring
Jak działa ten kalkulator?
Potęgowanie modularne wyznacza (podstawa^wykładnik) mod m. Zamiast bezpośrednio obliczać ogromną potęgę, algorytm używa binarnego potęgowania przez podnoszenie do kwadratu: podnosi podstawę do kwadratu i dzieli wykładnik przez 2 na każdym kroku, mnożąc wynik przy ustawionych bitach i redukując mod m na bieżąco. Działa w około log2(wykładnik) mnożeniach i jest dokładny dzięki dużym liczbom całkowitym.
Wzór
How this is calculated
Podaj trzy liczby całkowite: podstawę b, nieujemny wykładnik e oraz dodatni moduł m. Kalkulator zwraca resztę z dzielenia b do potęgi e przez m. Bezpośrednie obliczenie b^e byłoby niemożliwe dla dużych wykładników z powodu przepełnienia, dlatego narzędzie stosuje potęgowanie przez podnoszenie do kwadratu (znane też jako binarne potęgowanie).
Algorytm zaczyna od wyniku = 1 i redukuje podstawę modulo m. Następnie przegląda bity wykładnika od najmniej znaczącego do najbardziej znaczącego: gdy bieżący bit wynosi 1, mnoży bieżący wynik przez aktualną podstawę (mod m); w każdym kroku podnosi podstawę do kwadratu (mod m) i przesuwa wykładnik o jeden bit w prawo. Ponieważ każdy iloczyn pośredni jest redukowany modulo m, liczby pozostają małe, a nakład pracy jest proporcjonalny do log2(e) mnożeń zamiast e. Wszelkie obliczenia są wykonywane przy użyciu JavaScript BigInt, więc wyniki są dokładne niezależnie od rozmiaru.
Założenia i przypadki brzegowe: wykładnik musi być liczbą całkowitą e >= 0, a moduł dodatnią liczbą całkowitą m > 0 (mod 0 jest nieokreślone). Podstawa może być ujemna — jest najpierw normalizowana do zakresu 0..m-1 za pomocą ((b mod m) + m) mod m, więc zwracana reszta jest zawsze nieujemna. Gdy e = 0, wynik wynosi 1 mod m. Gdy m = 1, wynik wynosi zawsze 0.
Najczęściej zadawane pytania
Dla dużych wykładników b^e jest astronomicznie duże i powolne lub niemożliwe do przechowania. Redukowanie modulo m przy każdym mnożeniu utrzymuje każdą wartość poniżej m i kończy obliczenia w około log2(e) krokach.
Tak. Podstawa jest normalizowana do zakresu 0..m-1 przed pętlą za pomocą ((b mod m) + m) mod m, więc ujemna podstawa nadal daje poprawną nieujemną resztę.
Z definicji b^0 = 1, więc wynik wynosi 1 mod m (czyli 0, gdy m = 1).
Znany również jako
TG we-Calculate Editorial Team. (2026). Kalkulator potęgowania modularnego [Online calculator]. TG we-Calculate. https://we-calculate.com/pl/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Kalkulator potęgowania modularnego." TG we-Calculate. 2026. https://we-calculate.com/pl/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Kalkulator potęgowania modularnego," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/pl/calculator/modular-exponentiation-calculator
@misc{wecalculate_modular_exponentiation_calculator, title = {Kalkulator potęgowania modularnego}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/pl/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }
Czy ten kalkulator Ci pomógł?
