10 KiB
10 KiB
In [ ]:
# Commencez à écrire la fonction traduire_romain ici :
def traduire_romain(chaine):
pass
# Exemple de test
print(traduire_romain("IX")) # Doit afficher 9
In [ ]:
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 ...
tableau_fusionne ...
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
In [ ]:
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 = ...
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é
In [1]:
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 3
In [ ]:
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 ...In [ ]:
>>> trouver_intrus([3, 3, 3, 9, 9, 9, 1, 1, 1, 7, 2, 2, 2, 4,
4, 4, 8, 8, 8, 5, 5, 5], 0, 21)
7
>>> trouver_intrus([8, 5, 5, 5, 9, 9, 9, 18, 18, 18, 3, 3, 3],
0, 12)
8
>>> trouver_intrus([5, 5, 5, 1, 1, 1, 0, 0, 0, 6, 6, 6, 3, 8,
8, 8], 0, 15)
3In [ ]: