Write inverse
This commit is contained in:
parent
a78c9f558a
commit
b4c5c1526a
2 changed files with 18 additions and 2 deletions
|
@ -24,6 +24,8 @@ def calculate(a, b):
|
||||||
|
|
||||||
u est associé à a et v est associé à b, dans tous les cas. S'il faut échanger
|
u est associé à a et v est associé à b, dans tous les cas. S'il faut échanger
|
||||||
les associations, il faut donc échanger a et b à l'appel de cette fonction.
|
les associations, il faut donc échanger a et b à l'appel de cette fonction.
|
||||||
|
|
||||||
|
Retourne pgcd, u
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Initialisation
|
# Initialisation
|
||||||
|
@ -48,7 +50,7 @@ def calculate(a, b):
|
||||||
print("au + bv = pgcd(a, b)")
|
print("au + bv = pgcd(a, b)")
|
||||||
print(f"{a} * {u[-2]} + {b} * {v[-2]} = {r[-2]}")
|
print(f"{a} * {u[-2]} + {b} * {v[-2]} = {r[-2]}")
|
||||||
|
|
||||||
return u[-2]
|
return r[-2], u[-2]
|
||||||
|
|
||||||
|
|
||||||
def print_table(r, u, v, q):
|
def print_table(r, u, v, q):
|
||||||
|
|
16
algebre-non-lineaire/inverse.py
Normal file → Executable file
16
algebre-non-lineaire/inverse.py
Normal file → Executable file
|
@ -9,10 +9,24 @@ import sys
|
||||||
import euclide_etendu
|
import euclide_etendu
|
||||||
|
|
||||||
|
|
||||||
def main()
|
def main():
|
||||||
if len(sys.argv) == 3:
|
if len(sys.argv) == 3:
|
||||||
a = int(sys.argv[1])
|
a = int(sys.argv[1])
|
||||||
n = int(sys.argv[2])
|
n = int(sys.argv[2])
|
||||||
else:
|
else:
|
||||||
a = int(input("a : "))
|
a = int(input("a : "))
|
||||||
n = int(input("n : "))
|
n = int(input("n : "))
|
||||||
|
|
||||||
|
# On veut associer le coefficient de Bezout u à a, donc l'ordre des paramètres
|
||||||
|
# est important :
|
||||||
|
pgcd, u = euclide_etendu.calculate(a, n)
|
||||||
|
|
||||||
|
if pgcd != 1:
|
||||||
|
print(f"{a} est non inversible dans Z/{n}Z")
|
||||||
|
else:
|
||||||
|
inverse = (u + n) % n
|
||||||
|
print(f"L'inverse de {a} dans Z/{n}Z est {inverse}")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|
Loading…
Reference in a new issue