Modulaarse astendamise kalkulaator
Arvuta (base^exponent) mod m kiiresti ja täpselt, kasutades kahendastendamist ruutudega.
Computed with exponentiation by squaring
Kuidas see kalkulaator töötab?
Modulaarne astendamine leiab (base^exponent) mod m. Selle asemel, et arvutada hiiglaslik aste otse, kasutab see kahendastendamist ruutudega: ruudusta alus ja poolita astendaja igal sammul, korrutades tulemusse seatud bittidel, vähendades kogu aeg mod m. See töötab umbes log2(exponent) korrutusega ja jääb suurte täisarvudega täpseks.
Valem
How this is calculated
Sisesta kolm täisarvu: alus b, mittenegatiivne astendaja e ja positiivne moodul m. Kalkulaator tagastab b astmes e jäägi m-ga jagamisel. b^e naiivne arvutamine ületaks suurte astendajate korral piirid, seega kasutab see tööriist astendamist ruutudega (mida nimetatakse ka kahendastendamiseks).
Algoritm algab tulemusega = 1 ja vähendab aluse mooduli m järgi. Seejärel läbib see astendaja bitid kõige väiksemast kõige olulisemani: alati kui praegune bitt on 1, korrutab see jooksva tulemuse praeguse alusega (mod m), ja igal sammul ruudustab aluse (mod m) ning nihutab astendaja ühe biti võrra paremale. Kuna iga vahekorrutis vähendatakse mooduli m järgi, jäävad arvud väikeseks ja töö on võrdeline log2(e) korrutusega, mitte e korrutusega. Kogu aritmeetika tehakse JavaScripti BigInt-iga, seega tulemused on täpsed sõltumata suurusest.
Eeldused ja erijuhud: astendaja peab olema täisarv e >= 0 ja moodul peab olema positiivne täisarv m > 0 (mod 0 on määramata). Alus võib olla negatiivne; see normaliseeritakse esmalt vahemikku 0..m-1, kasutades ((b mod m) + m) mod m, seega tagastatud jääk on alati mittenegatiivne. Kui e = 0, on tulemus 1 mod m. Kui m = 1, on tulemus alati 0.
Korduma kippuvad küsimused
Suurte astendajate korral on b^e astronoomiliselt suur ning aeglane või võimatu salvestada. Mooduli m järgi vähendamine igal korrutamisel hoiab iga väärtuse alla m ja lõpetab umbes log2(e) sammuga.
Jah. Alus normaliseeritakse enne tsüklit vahemikku 0..m-1, kasutades ((b mod m) + m) mod m, seega negatiivne alus annab ikkagi õige mittenegatiivse jäägi.
Kokkuleppe järgi b^0 = 1, seega tulemus on 1 mod m (mis on 0, kui m = 1).
Tuntud ka kui
TG we-Calculate Editorial Team. (2026). Modulaarse astendamise kalkulaator [Online calculator]. TG we-Calculate. https://we-calculate.com/et/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Modulaarse astendamise kalkulaator." TG we-Calculate. 2026. https://we-calculate.com/et/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Modulaarse astendamise kalkulaator," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/et/calculator/modular-exponentiation-calculator
@misc{wecalculate_modular_exponentiation_calculator, title = {Modulaarse astendamise kalkulaator}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/et/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }
Kas see kalkulaator aitas sind?
