summaryrefslogtreecommitdiff
path: root/content/math/modExp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'content/math/modExp.cpp')
-rw-r--r--content/math/modExp.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/content/math/modExp.cpp b/content/math/modExp.cpp
new file mode 100644
index 0000000..2329a94
--- /dev/null
+++ b/content/math/modExp.cpp
@@ -0,0 +1,6 @@
+ll powMod(ll a, ll b, ll n) {
+ if(b == 0) return 1;
+ if(b == 1) return a % n;
+ if(b & 1) return (powMod(a, b - 1, n) * a) % n;
+ else return powMod((a * a) % n, b / 2, n);
+}