Advanced

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.
Integer base
Non-negative integer
Positive integer
Result: (base^exponent) mod m
9

Computed with exponentiation by squaring

Pamats
7
Eksponents
256
Modulus
13
Result
9
01.63.34.96.58.19.811.413Result lands within [0, m)
Rezultāti ir aplēses tikai vispārējai informācijai un nav profesionāls padoms — vienmēr neatkarīgi pārbaudiet svarīgus rezultātus, pirms uz tiem paļaujaties. Lasīt pilnu atrunu.
Ātrā atbilde

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
rezultāts = (bāze^kāpinātājs) mod m, izmantojot kvadrātā celšanu: kamēr e > 0, ja e ir nepāra, rezultāts = rezultāts·b mod m, tad b = b·b mod m, e = e >> 1
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ā

modulārā kāpināšana
pakāpe pēc moduļa
modpow
a^b mod m
ātrā kāpināšana
modular exponentiation

APA

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

Chicago

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.

IEEE

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

BibTeX

@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?