logo

Nombres premiers


maths supNombres premiers

#msg3846022 Posté le 07-11-11 à 22:29
Posté par Profilrad rad

Bonsoir,
je ne suis pas trop à l'aise avec l'informatique et je n'arrive pas à ecrire la fonction estPremier(n) qui prend un entier n (n ou = 2) en argument, et qui renvoie 1 si n est premier et 0 sinon.

J'ai pensé à utilisé un boucle if mais bon je galere depuis maintenant plus d'une heure sans résultat donc j'en demande à votre aide.

Merci d'avance et bonne soirée
re : Nombres premiers#msg3846032 Posté le 07-11-11 à 22:31
Posté par Profilrad rad

erratum : le fonction estPremier(n) qui prend un entier n (n > ou = 2) en argument
je vous prie de bien vouloir m'excusez
re : Nombres premiers#msg3846106 Posté le 07-11-11 à 23:00
Posté par ProfilBachstelze Bachstelze

Bonjour

Solution naïve en PYthon, à adapter :

def est_premier(n):
    for i in range(2,n):
        if n%i == 0:
            return True
    return False

Ceci sera évidemment très lent si n est grand, il y a énormément de possibilités d'amélioration.
re : Nombres premiers#msg3846578 Posté le 08-11-11 à 14:25
Posté par ProfilAsap Asap

D'accord avec la solution de Bachstelze, tu peux légèrement améliorer la rapidité d'exécution en bouclant jusqu'a la partie entiere de n/2 au lieu de n (soit n/2 si n est pair, (n-1)/2 si n est impair), étant donné qu'aucun nombre supérieur à n/2 ne peut être un diviseur de n. (tu peux facilement le vérifier)
re : Nombres premiers#msg3846580 Posté le 08-11-11 à 14:27
Posté par ProfilCamélia Camélia Correcteur

Bonjour

On peut faire encore (un peu) mieux... Onn peut s'arrêter à partie entière de \sqrt n
re : Nombres premiers#msg3846791 Posté le 08-11-11 à 17:36
Posté par Profilcarpediem carpediem

salut

.... et encore mieux en ne prenant que 2 et les impairs E(n) ....
re : Nombres premiers#msg3846797 Posté le 08-11-11 à 17:37
Posté par ProfilCamélia Camélia Correcteur

... et en faisant un crible, on ne prend plus que les premiers inférieurs à E(\sqrt n)
re : Nombres premiers#msg3846800 Posté le 08-11-11 à 17:40
Posté par Profilcarpediem carpediem

oui mais alors si on a les premiers pourquoi chercher les premiers !!!!

re : Nombres premiers#msg3847657 Posté le 08-11-11 à 22:41
Posté par Profilrad rad

Merci à tous pour vos réponses et bonne soirée

Répondre à ce sujet

réservé Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster
attention Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.



maths - prof de maths haut de pagehaut Retrouvez cette page sur ilemaths l'île des mathématiques
© Tom_Pascal & Océane 2012