1 
 
MPSI            Devoir Surveillé N° 1 – Deuxième Trimestre 
 
 Vendredi 22 Janvier 2021 
Durée : 1h30 heures 
 
Problème I : Les nombres premiers (10 points) 
 
Question 1 : 
Un nombre premier est un nombre qui a exactement 2 diviseurs qui sont 1 et lui-même. Ainsi 2, 3 ,5 
,7, 11 sont des nombres premiers mais 4, 6, 9 n'en sont pas. 
Ecrire une fonction « premier(n) » qui renvoie True si l’entier n est premier. 
 
Exemples :  
premier(17) retourne True 
premier(10) retourne False 
 
def premier(n): 
  flag = True 
  for i in range(2, n): 
    if n%i==0 : 
      return False 
  return True 
 
Question 2 : 
Écris une fonction nombre_premier_apres(n) qui renvoie le premier nombre premier p supérieur ou 
égal à n. 
Par exemple, le premier nombre premier après n = 60 est p = 61 
 
def nombre_premier_apres(n): 
    i = n 
    while not premier(i): 
        i=i+1 
    return i 
 
Question 3 : 
Deux nombres premiers p et p + 2 sont appelés nombres premiers jumeaux. Écris une fonction 
nombres_jumeaux_apres(n) qui affiche le premier couple p, p+2 de nombres premiers jumeaux, 
avec p > n. 
Par exemple, le premier couple de nombres premiers jumeaux après n = 60 est p = 71 et p + 2 = 73