# décomposition en produit de facteurs premiers def decomp(n): # déclaration du dictionnaire : # clé -> facteurs premiers, valeur -> exposants dico = {} for i in listprimes(n): if n%i == 0: e = 0 #exposant initial m = n while m%i == 0: m = m/i e += 1 dico[i] = e return dico # ppcm def ppcm(a,b): result = 1 for fact,exp in decomp(a).items(): if fact in decomp(b).keys(): result *= fact**max(exp,decomp(b).get(fact)) else: result *= fact**exp for fact,exp in decomp(b).items(): if fact not in decomp(a).keys(): result *= fact**exp return result print('La fraction simplifiée de',int(a),'/',int(b),' est',simplify(a,b)[0],'/',simplify(a,b)[1],'.') print('Le plus petit multiple commun de',int(a),'et',int(b),'est',ppcm(a,b),'.')