11 KiB
11 KiB
In [7]:
def traduire_romain(chaine):
pass
print(traduire_romain("IX")) # Doit afficher 9
None
In [8]:
def tri_fusion(tab):
if len(tab) <= 1:
return tab # Cas de base
milieu = len(tab) // 2
gauche = tri_fusion(tab[:milieu]) # Appel récursif
droite = tri_fusion(tab[milieu:]) # Appel récursif
return fusionner(gauche, droite)
def fusionner(gauche, droite):
tableau_fusionne = []
i, j = 0, 0
# Complétez la fonction pour fusionner les deux sous-tableaux ici :
# ---------------------------------------------
# ---------------------------------------------
# Ajoutez ici les éléments restants des sous-tableaux
tableau_fusionne += gauche[i:]
tableau_fusionne += droite[j:]
return tableau_fusionne
# Test de la fonction tri_fusion
print(tri_fusion([38, 27, 43, 3, 9, 82, 10])) # Doit afficher une liste triée
[38, 27, 43, 3, 9, 82, 10]
In [9]:
def recherche_dichotomique(tab, element, debut=0, fin=None):
if fin is None:
fin = len(tab) - 1
if debut > fin:
return -1 # L'élément n'est pas dans le tableau
milieu = (debut + fin) // 2
if tab[milieu] == element:
return # L'élément est trouvé
# Complétez ici avec les appels récursifs manquants :
# --------------------------------------------------
# --------------------------------------------------
# Test de la fonction
tab = [3, 9, 10, 27, 38, 43, 82]
element = 27
print(recherche_dichotomique(tab, element)) # Doit afficher l'index de l'élément trouvé
None
In [10]:
tab_a = [3, 3, 3, 9, 9, 9, 1, 1, 1, 7, 2, 2, 2, 4, 4, 4, 8, 8, 8, 5,
5, 5]
#l'intrus est 7
tab_b = [8, 5, 5, 5, 9, 9, 9, 18, 18, 18, 3, 3, 3]
#l'intrus est 8
tab_c = [5, 5, 5, 1, 1, 1, 0, 0, 0, 6, 6, 6, 3, 8, 8, 8]
#l'intrus est 3In [11]:
def trouver_intrus(tab, g, d):
'''Renvoie la valeur de l'intrus situé entre les indices g et d dans la liste tab où :
tab vérifie les conditions de l'exercice, g et d sont des multiples de 3.
'''
if g == d:
return ...
else:
nombre_de_triplets = (d – g) // ...
indice = g + 3 * (nombre_de_triplets // 2)
if ... :
return ...
else:
return ...[0;36m Cell [0;32mIn[11], line 9[0;36m[0m [0;31m nombre_de_triplets = (d – g) // ...[0m [0m ^[0m [0;31mSyntaxError[0m[0;31m:[0m invalid character '–' (U+2013)