Calcul nombre premier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 357 fois - Téléchargée 34 fois

Contenu du snippet

Ce petit programme affiche tous les nombre premiers compris entre 0 et un chiffre saisi par l'utilisateur.La limite de ce chiffre est la limite de codage du type long,si quelqu'un trouve une astuce pour dépasser cette limite je suis preneur.

Source / Exemple :


#include "iostream.h"

//Définition de la fonction de calcul des nbres premiers
bool EstPremier(long x)
{if(x==2)
return true;

if ((x%2)==0)
return false;

long i=3;
while(i*i<x)
{if(x%i==0)return false;
i++;};

return true;}

void main()
{//le nombre maximum à traiter ne peut dépasser 4 194 967 295
 //du à la limite de codage du type long
long maxi; 
cout<<"recherche des nombres premiers de 0 à ?";          
cin>>maxi;
for(long i=0;i<maxi;i++)
{if (EstPremier(i)==true)
{cout<<i<<"\t";cout.flush;};
};

}

A voir également

Ajouter un commentaire

Commentaires

Messages postés
115
Date d'inscription
jeudi 7 février 2002
Statut
Membre
Dernière intervention
21 mai 2005

si tu veux outrepasser la limite long/int, il te faut créer une classe de grands entiers, et pour calculer de grands nombres premiers, il te faudra probablement utiliser un algo de type probabiliste
Messages postés
455
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
18 décembre 2003

salut,
"iostream.h" ....>

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.