polynominal.py

Created by alexistb2904

Created on September 18, 2024

3.39 KB


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

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.