# ex12030_est_premier.py ''' Teste si un nombre donné est premier. Retourne True si c'est le cas, False sinon ''' def estPremier(nn): #================== '''Retourn True si nn est premier, retourne False sinon''' kk = 2 # test de diviseurs de nn while (kk**2 <= nn): if (nn % kk == 0): return False kk += 1 return True print("----- Exercice 12.3a -----") n1 = 121 print("n1 =", n1, " est premier :", estPremier(n1)) n1 = 323 print("n1 =", n1, " est premier :", estPremier(n1)) n1 = 997 print("n1 =", n1, " est premier :", estPremier(n1)) print() def premierSuivant(nn): #====================== '''Retourn le plus petit nombre premier qui est plus grand que nn.''' while True: # Boucle infinie nn += 1 if estPremier(nn): return nn # on a trouvé le nombre premier qui suit print("----- Exercice 12.3b -----") print("Liste des 10 nombres premiers > 10") nn = 10 for kk in range(10): nn = premierSuivant(nn) print(nn, end=" ") print(); print() print("Liste des 10 nombres premiers > 1000") nn = 1000 for kk in range(10): nn = premierSuivant(nn) print(nn, end=" ") print()