From 0330d8896b3350f157eb717ee0505ea93245e4a4 Mon Sep 17 00:00:00 2001 From: PiyushPawar17 Date: Fri, 1 Dec 2017 18:57:53 +0530 Subject: [PATCH] Added Modular Exponential --- Maths/ModularExponential.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Maths/ModularExponential.py diff --git a/Maths/ModularExponential.py b/Maths/ModularExponential.py new file mode 100644 index 000000000..b3f4c00bd --- /dev/null +++ b/Maths/ModularExponential.py @@ -0,0 +1,20 @@ +def modularExponential(base, power, mod): + if power < 0: + return -1 + base %= mod + result = 1 + + while power > 0: + if power & 1: + result = (result * base) % mod + power = power >> 1 + base = (base * base) % mod + return result + + +def main(): + print(modularExponential(3, 200, 13)) + + +if __name__ == '__main__': + main()