Laurentvidal.fr simplifie votre recherche de solutions aux questions quotidiennes et complexes avec l'aide de notre communauté. Découvrez des réponses complètes à vos questions grâce à des professionnels expérimentés sur notre plateforme conviviale. Connectez-vous avec une communauté d'experts prêts à vous aider à trouver des solutions précises à vos interrogations de manière rapide et efficace.
Sagot :
Bonsoir,
Il te suffit de vérifier que chaque entier dans [2, n-1] ne divise pas n pour montrer que n est premier sinon n n'est pas premier.
def premier(n):
premier = True #On suppose que n est premier tant qu'on n'a pas prouvé le contraire.
for i in range(2, n): #Pour i allant de 2 à n exclut.
if n%i == 0: #Si le reste de la division euclidienne n / i est égal à 0 donc que i divise n.
premier = False
return premier
Si tu as le droit de mettre plusieurs return (interdit pour les CPGE, autorisé pour les lycéens), on peut aussi écrire:
def premier(n):
for i in range(2, n): #Pour i allant de 2 à n exclut.
if n%i == 0:
return False
return True
L'avantage ici, c'est que si on trouve un nombre qui divise n on s'arrête directement (on ne continu pas la boucle jusqu'à n-1).
Autre méthode:
def premier(n):
premier = True
for i in range(2, n):
if n%i == 0:
premier = False
break #On interrompt la boucle (Pas aimé par les professeurs en général)
return premier
Si le sujet t'intéresse, je te propose de regarder la page Wikipédia sur le Crible d'Ératosthène qui permet de créer la liste des nombres premiers inférieurs à un entier n sans avoir à tester les nombres un par un pour voir s'ils sont premiers ou non.
Bonne journée,
Thomas
Nous espérons que nos réponses vous ont été utiles. Revenez quand vous voulez pour obtenir plus d'informations et de réponses à d'autres questions. Nous espérons que nos réponses vous ont été utiles. Revenez quand vous voulez pour obtenir plus d'informations et de réponses à d'autres questions. Merci de faire confiance à Laurentvidal.fr. Revenez pour obtenir plus d'informations et de réponses.