from math import floor,sqrt def is_prime(a): if a<=1: return False if a==2: return True if a%2==0: return False max=floor(sqrt(a)) for d in range(3,max+1,2): if a%d==0: return False return True def prime_range(a,b): c=[] print("-"*43) for i in range(a,b): if is_prime(i): c.append(i) print(c) print("-"*43) def factorise(a): factors=[] i=2 while i*i<=a: if a%i==0: a//=i factors.append(i) else: i+=1 if a>1: factors.append(a) return factors def simplify(a,b): fa=factorise(a) fb=factorise(b) fc=[] print("-"*43) print("{} = {}".format(a,fa)) print("{} = {}".format(b,fb)) print("-"*43) cf=set(fa)&set(fb) for i in list(fa): if i in fb: fa.remove(i) fb.remove(i) fc.append(i) print("Facteurs commun: {}".format(fc)) print("-"*43) ra=1 rb=1 for f in fa: ra*=f for f in fb: rb*=f print("Fraction simplifié:") print("{} / {} = {} / {}".format(a,b,ra,rb)) print("-"*43) def divisors(a): return [i for i in range(1,a+1) if a%i==0] def euclidean(a,b): print("-"*43) print("{}={}*{}+{}".format(a,b,int(a//b),int(a%b))) print("-"*43) def sync(a,b): print("-"*43) t=0 while True: t+=min(a,b) if t%a==0 and t%b==0: print("{} = {} x {}".format(t,a,int(t/a))) print("{} = {} x {}".format(t,b,int(t/b))) print("-"*43) break def gcd(a,b): fa=factorise(a) fb=factorise(b) fc=[] print("-"*43) print("{} = {}".format(a,fa)) print("{} = {}".format(b,fb)) print("-"*43) for i in list(fa): if i in fb: fa.remove(i) fb.remove(i) fc.append(i) print("Facteurs commun: {}".format(fc)) print("-"*43) scf=1 for i in fc: scf*=i print("{} = {} * {}".format(a,scf,int(a/scf))) print("{} = {} * {}".format(b,scf,int(b/scf))) print("-"*43) print("-"*43) print("Arithmetic 3eme") print("-"*43) print("is_prime(a)") print("prime_range(a,b)") print("factorise(a)") print("gcd(a,b)") print("simplify(a,b)") print("divisors(a)") print("euclidean(a,b)") print("sync(a,b)") print("-"*43)