Aller au contenu

Index des sujets 2023

Corrigé sujet 41 - Année : 2023

Sujet 41 - 2023

Exercice 1

1
2
3
4
5
6
def recherche(caractere,mot):
    occurrence = 0
    for c in mot:
        if c == caractere:
            occurrence += 1
    return occurrence

Commentaires

C'est un exercice classique de parcours d'un itérable en comptant les occurrences d'apparition d'une valeur. Un parcours par élément suffit, les indices des occurrences n'étant pas utilisées.

Exercice 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
valeurs = [100,50,20,10,5,2,1]

def rendu_glouton(a_rendre, rang):
    if a_rendre == 0:
        return [] #(1)
    v = valeurs[rang]
    if v <= a_rendre : #(2)
        return [v] + rendu_glouton(a_rendre - v, rang) #(3)
    else :
        return rendu_glouton(a_rendre, rang+1) #(4)
  1. Il n'y a rien à rendre, la liste des pièces est donc vide !
  2. On teste si la valeur est inférieure à la somme à rendre
  3. Si oui alors on l'ajoute à la liste des pièces et la somme à rendre diminue d'autant
  4. Sinon alors on passe à la pièce suivante (en incrémentant le rang)