Aller au contenu

Index des sujets 2023

Corrigé sujet 44 - Année : 2023

Sujet 44 - 2023

Exercice 1

1
2
3
4
5
def renverse(chaine):
    chaine_inverse = ""
    for caractere in chaine:
        chaine_inverse = caractere + chaine_inverse
    return chaine_inverse

Remarque

On peut proposer une version utilisant la méthode join des listes, en effet ajouter des éléments à une liste est plus efficace que d'ajouter des caractères à une chaîne de caractères.

Exercice 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
def crible(n):
    """renvoie un tableau contenant tous les nombres premiers plus petit que N"""
    premiers = []
    tab = [True] * n
    tab[0], tab[1] = False, False
    for i in range(2, n): 
        if tab[i] == True: #(1)
            premiers.append(i)
            for multiple in range(2*i, n, i): #(2)
                tab[multiple] = False #(3)
    return premiers
  1. C'est le cas où le nombre est i premier
  2. Ce sont les multiples de i, on parcourt donc avec un pas de i
  3. Les multiples ne sont pas des nombres premiers.

Attention

Le crible d'Eratosthène proposé ici fait partie des algorithmes proposés dans l'option mathématiques expertes.