import math
dividende = 47
diviseur = 8
quotient = dividende // diviseur
reste = dividende % diviseur
print(quotient)
print(reste)
5 7
def diviseurs(nombre):
"retourne la liste des diviseurs."
limite=int(math.sqrt(nombre)+1)
L_couples = [(x,nombre//x) for x in range(1,limite) if nombre%x==0]
#print(L_couples)
ensemble_diviseurs=set() # ensemble des diviseurs
for (a,b) in L_couples :
ensemble_diviseurs.add(a)
ensemble_diviseurs.add(b)
L_diviseurs=sorted(ensemble_diviseurs) #conversion en liste ordonnées.
return L_diviseurs
diviseurs(18)
[1, 2, 3, 6, 9, 18]
def est_premier(nombre) :
"Un nombre est premier s'il a deux diviseurs"
if len(diviseurs(nombre))==2 :
return True
else :
return False
est_premier(17)
True
def decomposition(nombre):
"retourne la liste des facteurs premiers"
L=diviseurs(nombre)
if len(L)==1 :
return [1]
Decomposition=[]
while len(L)>1 :
L.pop(0)
p=L[0]
Decomposition.append(p)
L=[k//p for k in L if k%p==0]
return Decomposition
decomposition(123456789)
[3, 3, 3607, 3803]