Recherche d'un algo

Fermé
merdieu - 11 juin 2011 à 22:41
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 16 juin 2011 à 08:02
Bonjour,



je cherche un algorithme qui compte le nombre premier.
Et si vous ne trouvez pas donnez au moins la formule de nombre premier .
A voir également:

5 réponses

Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 206
11 juin 2011 à 23:50
"je cherche un algorithme qui compte le nombre premier"

Comprends pas :/

"Et si vous ne trouvez pas donnez au moins la formule de nombre premier ."

Comprends toujours pas... (peut-être la décomposition en produit de facteurs premiers ?)
0
chabacha109 Messages postés 268 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 14 mai 2012 9
Modifié par chabacha109 le 18/06/2011 à 04:53
premier c'est un nombre divisible par 1 et par lui méme seulement
comme 1 ,2 ,3,5,7,11,13......
c'est simple je crois non ?
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 206
Modifié par Meoran le 16/06/2011 à 00:42
Ca, ça ne compte pas le nombre premier... Ce serait plutôt l'algo qui permet de savoir si un nombre est premier (en aucun cas "compter", qu'est ce que ça vient foutre là ?).

Et puis si c'est réellement ça, il a pas du chercher beaucoup :

Premier résultat google avec recherche : "algorithme nombre premier"
http://www.haypocalc.com/wiki/Algorithmes_pour_nombres_premiers
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
16 juin 2011 à 02:22
Pour la fonction de compte voir : Fonction de compte des nombres premiers
Pour tester si un nombre est premier voir : Fermat, Solovay-Strassen, Miller-Rabin...
Pour le reste voir Nombres premiers et Formules pour les nombres premiers
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dood05 Messages postés 2 Date d'inscription jeudi 16 juin 2011 Statut Membre Dernière intervention 16 juin 2011
16 juin 2011 à 04:26
A ma connaissance, il n'y pas de formule pour tester si un nombre est premier ou pas. Du moins, on peut faire un algo pour savoir si un nombre est premier. J'ai fait l'algo que tu cherche. J'ai pas testé mais je pense bien que ça pourra marché :

comptPremierAvantX(x) =
{
// Inférieur à 1 : Aucun
Si (x<1) Retourne(0);
Sinon
{
Si (x==1)Retourne(1);
Sinon
{
nbPremier=1; //Car 1 est déja un nombre premier
//Tester à partir de 2 si le chiffre est premier
i=2;
TantQue(i<=x)
{
iPremier = vrai;
k=2;
Tantque(k<i)
{
//Dès qu'un des chiffres entre 2 et le nombre qui le précéde le divise
//Ce n'est pas un nombre premier
Si((i%k)==0)iPremier=faux;
k++;
}
Si(iPremier)nbPremier++;
i++;
}
Retoune(nbPremier);
}
}
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
16 juin 2011 à 08:02
1 n'est pas un nombre premier !

De plus ton algo est quadratique, on fait x²/2-3x/2+1 appels au calcul Si((i%k)==0)
Même avec un algo "simple" il y a quand même plus efficace, il suffirait de faire le crible d'Erathostène et de compter...

Mais les fonctions de compte des nombres premiers sont largement plus efficaces pour avoir de bonnes approximations...
0