Voici le squelette des classes vues en amphi le 23 novembre pour travailler sur les corps:
Python
def bezout(a,b) : U = [1,0,a] V = [0,1,b] while V[2] > 0 : U, V = V, [U[i] - (U[2] // V[2])*V[i] for i in range(3)] return U class Mod(): def __init__(self, representant, modulo) : assert modulo > 0 , "Classe modulaire non définie !" self.rep = representant % modulo self.mod = modulo def __hash__(self) : return hash(self.rep)^hash(self.mod) def zero(self) : return Mod(0, self.mod) def un(self) : return def __eq__(self, other) : return def __str__(self) : return def __repr__(self) : return str(self) def __add__(self, other) : assert return def __neg__(self) : return def __sub__(self, other) : def __mul__(self, other) : assert return def inv(self) : bz = bezout(self.rep, self.mod) assert bz[2] == ???, str(self) + " n'est pas inversible !" return Mod(???, ???) def __truediv__(self, other) : return self * other.inv() class Cplx(): def __init__(self, re, im) : self.re = re self.im = im def __hash__(self) : return hash(self.re)^hash(self.im) def zero(self) : return Cplx(0,0) def un(self) : return def __eq__(self, other) : return def __str__(self) : return def __repr__(self) : return str(self) def __add__(self, other) : return def __neg__(self) : return def __sub__(self, other) : def __mul__(self, other) : return def inv(self) : def __truediv__(self, other) :