From 86a9c72e7ee9102518903e3101df70c4c75ffaa3 Mon Sep 17 00:00:00 2001
From: ACKERMANNGUE <gawen.ackermann@etu.hesge.ch>
Date: Tue, 7 Dec 2021 11:10:27 +0100
Subject: [PATCH] =?UTF-8?q?r=C3=A9alisation=20inverse=20modulaire?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 polynomial.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/polynomial.py b/polynomial.py
index 29d458e..e433c68 100644
--- a/polynomial.py
+++ b/polynomial.py
@@ -117,6 +117,19 @@ def compute_bachet_bezout(a, b):
     return x[-1], y[-1]
 
 
+def modular_inverse(a, n):
+    res = -1
+    inverse = -1
+    i = 0
+    while res != 1:
+        if a * i % n == 1:
+            res = a * i % n
+            inverse = i
+            break
+        i += 1
+    return inverse
+
+
 def compute_lagrange_polynomial(points, prime_number):
     pass
 
@@ -141,6 +154,11 @@ def main():
     print("Pour les chiffres " + str(a) + " et " + str(b) +
           ". Les coéfficients de Bachet-Bézout sont : " + str(x) + " et " + str(y))
 
+    a = 3
+    b = 7
+    print("Inverse modulaire de " + str(a) + " % " +
+          str(b) + " est " + str(modular_inverse(a, b)))
+
     with open("messages.json") as f:
         messages = json.load(f)
     print(len(messages))
-- 
GitLab