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