CommencerCommencez gratuitement

Suite de nombres premiers

Un nombre premier est un entier naturel qui n’est divisible que par 1 et par lui-même (p. ex. 3, 7, 11, etc.). En revanche, 1 n’est pas un nombre premier.

Votre tâche consiste, étant donné une liste de nombres candidats cands, à ne conserver que les nombres premiers dans une nouvelle liste primes.

Mais d’abord, vous devez créer une fonction is_prime() qui renvoie True si le nombre d’entrée \(n\) est premier, ou False sinon. Pour cela, il suffit de vérifier qu’un nombre n’est divisible par aucun entier compris entre 2 et \(\sqrt{n}\).

Astuce : vous pourriez avoir besoin de l’opérateur % qui calcule le reste d’une division (p. ex. 8 % 3 vaut 2).

Le module math est déjà importé.

Cet exercice fait partie du cours

<cours>S’exercer aux questions d’entretien de code en Python</cours>
Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

def is_prime(n):    
    # Define the initial check
    if n < ____:
       return ____
    # Define the loop checking if a number is not prime
    for i in range(____, ____):
        if ____:
            return False
    return True
Modifier et exécuter le code