def est_congruent(a, b, n): return a % n == b % n def addition_mod(a, b, n): return (a + b) % n def soustraction_mod(a, b, n): return (a - b) % n def multiplication_mod(a, b, n): return (a * b) % n def decomposition_facteurs_premiers(n): facteurs = [] diviseur = 2 # Diviser n par 2 tant qu'il est divisible while n % diviseur == 0: facteurs.append(diviseur) n //= diviseur # Vérifier les autres diviseurs impairs diviseur = 3 while diviseur * diviseur <= n: while n % diviseur == 0: facteurs.append(diviseur) n //= diviseur diviseur += 2 # Si n est encore un nombre premier supérieur à 2 if n > 2: facteurs.append(n) print(facteurs) def imprimer(): print("=== Antisèche sur les congruences en mathématiques ===\n") print("1. Définition de la congruence") print("Deux entiers a et b sont congruents modulo n si leur différence est un multiple de n.") print("a ≡ b (mod n)") print("Cela signifie : n divise (a - b) ou encore a - b = k * n pour un certain entier k.\n") print("2. Propriétés de la congruence") print("1. Réflexivité : a ≡ a (mod n)") print("2. Symétrie : Si a ≡ b (mod n), alors b ≡ a (mod n)") print("3. Transitivité : Si a ≡ b (mod n) et b ≡ c (mod n), alors a ≡ c (mod n)\n") print("3. Opérations avec les congruences") print("Si a ≡ b (mod n) et c ≡ d (mod n), alors :") print("- Addition : a + c ≡ b + d (mod n)") print("- Soustraction : a - c ≡ b - d (mod n)") print("- Multiplication : a * c ≡ b * d (mod n)\n") print("4. Division et inverse modulaire") print("Division directe n'est pas possible avec les congruences.") print("Un entier c a un inverse modulo n si et seulement si PGCD(c, n) = 1.") print("L'inverse de c modulo n est un entier c−1 tel que c * c−1 ≡ 1 (mod n).\n") print("5. Applications courantes") print("- Résolution d’équations de congruence : ax ≡ b (mod n)") print(" Il faut que PGCD(a, n) divise b pour qu'une solution existe. Si PGCD(a, n) = 1, on peut résoudre en multipliant b par l'inverse de a modulo n.") print("- Cryptographie : Les congruences sont utilisées en cryptographie, notamment dans RSA.\n") print("6. Exemples") print("- Exemple de congruence : 17 ≡ 5 (mod 12), car 17 - 5 = 12.") print("- Exemple d’opérations : Si 3 ≡ 7 (mod 4) et 5 ≡ 1 (mod 4), alors 3 + 5 ≡ 7 + 1 ≡ 8 ≡ 0 (mod 4).\n") print("7. Algorithme d’Euclide pour trouver un inverse") print("Pour résoudre une équation ax ≡ 1 (mod n), on utilise l'algorithme d'Euclide étendu pour trouver l'inverse de a modulo n.") print("L'algorithme exprime PGCD(a, n) sous la forme ax + ny = 1. Le coefficient x est l'inverse de a modulo n.\n") imprimer() $\over{a+b}$ = $\over{a}$.$\over{b}$ $\over{a.b}$ = $\over{a}$ + $\over{b}$ a.$\over{a}$ = 0 a + $\over{a}$ = 1 a+ab = a a + $\over{a}$b = a+b $\over{a}$ + ab = $\over{a}$+b a+a = a | a.a = a + = OU . = ET Avec 3var 1case = 3var 2case = 2var 4case = 1var a=b[n] -> a congru b modulo n b = reste / de a par n n = diviseur 21=16[5] car 21=5*4+1 16=5*3+1 15=7*2+1 = 1[2] A est multiple de n quand A=0[n] sois A/n = 0 Matrice Additions : Uniquement meme dimension Multiplication multiplier tout les termes Multiplication matrice M*N = N doit avoir le meme nb de ligne que M a de colonne