Réponse :
Explications :
1. determiner si un entier naturel est premier
la fonction essaye de trouver s il existe un diviseur de n (different de 1)
si la fonction n en trouve pas elle returne True => c est un nombre premier
si la fonction en trouve au moins 1 different de 1 elle returne False => ce n'est pas un nombre premier
2. l operateur % est utilise pour connaitre le reste la division euclidienne
donc a%b donne le reste de la division euclidienne de a par b
si b divise a alors le reste est 0
print(18%4) renvoie 2
car 18 = 4 * 4 + 2
2 est bien le reste de la division euclidienne de 18 par 4
3. print(prog(2021)) renvoie False
parce que 2021 n est pas un nombre premier
2021 = 43 x 47
c est pas demande mais en rajoutant un print(i) dans la boucle ca permet de trouver ces chiffres 43 et 47
def prog(n):
prem = True
if n <= 1:
prem = False
else:
for i in range(2,n):
if n%i == 0:
print(i)
prem = False
return prem