Modulārās kāpināšanas kalkulators
Aprēķiniet (bāze^kāpinātājs) mod m ātri un precīzi, izmantojot bināro kāpināšanu ar kvadrātā celšanu.
Computed with exponentiation by squaring
Kā darbojas šis kalkulators?
Modulārā kāpināšana atrod (bāze^kāpinātājs) mod m. Tā vietā, lai aprēķinātu milzīgo pakāpi tieši, tā izmanto bināro kāpināšanu ar kvadrātā celšanu: ceļ bāzi kvadrātā un dala kāpinātāju uz pusi katrā solī, reizinot rezultātā pie iestatītajiem bitiem, visu laiku reducējot mod m. Tas darbojas aptuveni log2(kāpinātājs) reizinājumos un paliek precīzs ar lieliem veseliem skaitļiem.
Formula
How this is calculated
Ievadiet trīs veselus skaitļus: bāzi b, nenegatīvu kāpinātāju e un pozitīvu moduli m. Kalkulators atgriež atlikumu, kas iegūts, dalot b, kas kāpināts pakāpē e, ar m. Naivi aprēķinot b^e vispirms, lieliem kāpinātājiem rastos pārpilde, tāpēc šis rīks izmanto kāpināšanu ar kvadrātā celšanu (sauktu arī par bināro kāpināšanu).
Algoritms sākas ar rezultāts = 1 un reducē bāzi pēc moduļa m. Tad tas iziet cauri kāpinātāja bitiem no mazāk nozīmīgākā līdz nozīmīgākajam: kad vien kārtējais bits ir 1, tas reizina kārtējo rezultātu ar kārtējo bāzi (mod m), un katrā solī tas ceļ bāzi kvadrātā (mod m) un nobīda kāpinātāju pa labi par vienu bitu. Tā kā katrs starpposma reizinājums tiek reducēts pēc moduļa m, skaitļi paliek mazi un darbs ir proporcionāls log2(e) reizinājumiem, nevis e no tiem. Visi aprēķini tiek veikti ar JavaScript BigInt, tāpēc rezultāti ir precīzi neatkarīgi no izmēra.
Pieņēmumi un robežgadījumi: kāpinātājam jābūt veselam skaitlim e >= 0, un modulim jābūt pozitīvam veselam skaitlim m > 0 (mod 0 nav definēts). Bāze var būt negatīva; tā vispirms tiek normalizēta diapazonā 0..m-1, izmantojot ((b mod m) + m) mod m, tāpēc atgrieztais atlikums vienmēr ir nenegatīvs. Kad e = 0, rezultāts ir 1 mod m. Kad m = 1, rezultāts vienmēr ir 0.
Biežāk uzdotie jautājumi
Lieliem kāpinātājiem b^e ir astronomiski liels un lēns vai neiespējams glabāt. Reducējot pēc moduļa m pie katra reizinājuma, katra vērtība paliek zem m un pabeidzas aptuveni log2(e) soļos.
Jā. Bāze pirms cikla tiek normalizēta diapazonā 0..m-1, izmantojot ((b mod m) + m) mod m, tāpēc negatīva bāze joprojām dod pareizu nenegatīvu atlikumu.
Pēc konvencijas b^0 = 1, tāpēc rezultāts ir 1 mod m (kas ir 0, kad m = 1).
Pazīstams arī kā
TG we-Calculate Editorial Team. (2026). Modulārās kāpināšanas kalkulators [Online calculator]. TG we-Calculate. https://we-calculate.com/lv/calculator/modular-exponentiation-calculator
TG we-Calculate Editorial Team. "Modulārās kāpināšanas kalkulators." TG we-Calculate. 2026. https://we-calculate.com/lv/calculator/modular-exponentiation-calculator.
TG we-Calculate Editorial Team, "Modulārās kāpināšanas kalkulators," TG we-Calculate, 2026. [Online]. Available: https://we-calculate.com/lv/calculator/modular-exponentiation-calculator
@misc{wecalculate_modular_exponentiation_calculator, title = {Modulārās kāpināšanas kalkulators}, author = {{TG we-Calculate Editorial Team}}, howpublished = {\url{https://we-calculate.com/lv/calculator/modular-exponentiation-calculator}}, year = {2026}, note = {TG we-Calculate} }
Vai šis kalkulators jums palīdzēja?
