summaryrefslogtreecommitdiff
path: root/math/modPowIterativ.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'math/modPowIterativ.cpp')
-rw-r--r--math/modPowIterativ.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/math/modPowIterativ.cpp b/math/modPowIterativ.cpp
index f06b4bd..0dc3fb1 100644
--- a/math/modPowIterativ.cpp
+++ b/math/modPowIterativ.cpp
@@ -1,11 +1,9 @@
-// Laufzeit: O(log (b))
ll powMod(ll a, ll b, ll n) {
- if (b == 0) return 1;
- ll res = 1;
- while (b > 1) {
- if (b & 1) res = (a * res) % n;
- a = (a * a) % n;
- b /= 2;
- }
- return (a * res) % n;
+ ll res = 1;
+ while (b > 0) {
+ if (b & 1) res = (a * res) % n;
+ a = (a * a) % n;
+ b /= 2;
+ }
+ return res;
}