Bonsoir à toutes et à tous,
J'ai pour travail de calculer le PGCD de deux nombres entiers à partir de la décomposition de deux entiers.
Je vous mets le code que j'ai fait ci-dessous :
J'ai réussi à faire la première fonction pour pouvoir décomposer un nombre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 def decompose(n): T = [] while n != 1: i = 2 while n%i != 0: i = i+1 if n%i ==0 and premier(i) == True: T = T + [i] n = n//i return T def PGCD(n,m): T = decompose(m) T1 = decompose(n) Tt = [] i = 0 j = 0 if len(T) > len(T1): while i < len(T1) and T[i] != "": if T[i] == T1[j]: Tt = Tt + T[i] else: i = i+1 j = j+1 if len(T) < len(T1): while i < len(T) and T1[i] != "": if T[i] == T1[j]: Tt = Tt + T[i] else: i = i+1 j = j+1 print(Tt)
Je vous explique ce que j'essaye de faire :
Je veux appeler cette fonction, afin qu'elle puisse me décomposer dans deux différentes listes les entiers "n" et "m".
Ensuite, je compare les deux listes, si il y a similitude, je concatène la valeur d'une des deux listes à une liste vide.
Et enfin, je renvoie la liste qui me montre le PGCD des deux nombres.
Mais je ne comprends pas ma faute.
Merci d'avance pour vos réponses !![]()
Partager