Nombres premiers

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Elise68
Membre Naturel
Messages: 51
Enregistré le: 23 Fév 2009, 14:43

nombres premiers

par Elise68 » 09 Mai 2009, 15:59

Tant que j'y suis j'aurais une autre petite question ...
On a le théorème suivant :
un nombre n supèrieur ou égal à 2 est premier si et seulement si il n'admet pas de divieur premier différent de 1 tel que d²<=n.

Et dans le programme pour déterminer si le nombre est premier ou pas, voilà ce qu'on fait :
-s'il est pair, alors il n'est pas premier
- sinon tant que 2k+1 ² est plus petit ou égal à n, on regarde s'il divise n.
Si oui alors le nombre est premier.
Si non, alors notre nombre est premier

mais j'ai l'impression que avec cet algorithme, on peut avoir la situation suivante :
un nombre peut admettre un diviseur. Le programme dira que ce nombre est premier mais ce diviseur n'est pas forcément premier ...

Voilà le programme en complet :
Prgm
Local r,k
Mod(n,2)->r
1_>k
while (2k+1)²<=n and r<>0
mod(n,2k+1)->r
k+1->k
endwhile
if r<>0 then disp 'premier' else disp 'non premier'
Endprgm

Merci d'avance en tout cas !



Nightmare
Membre Légendaire
Messages: 13817
Enregistré le: 19 Juil 2005, 17:30

par Nightmare » 09 Mai 2009, 16:23

Salut :happy3:

Oui mais de toute façon s'il admet un diviseur non premier il admet un diviseur premier donc cela revient au même.

Elise68
Membre Naturel
Messages: 51
Enregistré le: 23 Fév 2009, 14:43

par Elise68 » 09 Mai 2009, 16:38

Oui effectivement ^^
Merci pr ta patience ;)

skilveg
Membre Relatif
Messages: 462
Enregistré le: 21 Mai 2008, 21:29

par skilveg » 09 Mai 2009, 17:23

Comme tu parcours les diviseurs possibles en partant du plus petit, tu tomberas forcément sur un facteur premier: le plus petit diviseur différent de 1 d'un entier est premier.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 284 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite