Télécharger ang Nombres Premiers

Éditeur : Kakou35   +
Mise à jour le : 10/06/2012  ·   Licence : Autre  ·   Téléchargé 438 fois   ·   692 octets Date de sortie : 08/06/2012

CommentairesLa discussion sur le forum
Présentation
Vous entrez un nombre et le programme trouvera tous les nombres premiers compris entre 0 et votre nombre!
Téléchargement
Compatibilité
Linux Mac Windows  
		
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. bool est_premier(int nombre);
  7. void affichageNombres(vector<int> nbPremiers);
  8.  
  9. void main()
  10. {
  11. int nombre = 0;
  12. vector<int> nbPremiers;
  13.  
  14. cout<<"Entrez un nombre : ";
  15. cin>>nombre;
  16.  
  17. for(int j = 1; j < nombre; j++)
  18. {
  19. if(est_premier(j))
  20. nbPremiers.push_back(j);
  21. }
  22.  
  23. affichageNombres(nbPremiers);
  24. system("pause");
  25. }
  26.  
  27. bool est_premier(int nombre)
  28. {
  29.  
  30. for(int i = 2; i < nombre; i++)
  31. {
  32. if(nombre % i == 0)
  33. return false;
  34. }
  35.  
  36. return true;
  37. }
  38.  
  39. void affichageNombres(vector<int> nbPremiers)
  40. {
  41. for(int k = 0; k < nbPremiers.size(); k++)
  42. cout<<nbPremiers[k]<<endl;
  43. }
  44.  
  45.  
  46.  
  47.  


 Poster une réponse

Avatar de Bousk Bousk
Modérateur
le 09/06/2012 4:30
Avatar de droggo droggo
Expert Confirmé
le 09/06/2012 13:37
Hoe,

Quel est l'intérêt ?

En plus, la recherche des premiers est loin d'être optimale :

- On cherche de 0 à N, or un nombre < 2 ne peut pas être premier

- le test

Code :




if(nombre % 2 != 0 || nombre % 5 != 0)

laisse passer tous les nombres, sauf les multiples de 2 ET 5 en même temps !

- Puis, on va faire le test de division avec tous les nombres < N, donc y compris les nombres pairs.

- Et cette fonction trouve 1 comme premier !

Bref, copie à revoir d'urgence.
Avatar de Obsidian Obsidian
Modérateur
le 09/06/2012 13:47
D'accord, il s'agit de trouver les nombres premiers.

Parce que là, il y a écrit « nombres entiers ». Trouver tous les nombres entiers entre 0 et n, c'est sympa mais ce n'est pas difficile ! :-)
Avatar de droggo droggo
Expert Confirmé
le 09/06/2012 14:07
Keo,

C'est ce que je me suis dit aussi, mais j'avais déjà de quoi répondre.


Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.

Connexion

Identifiant
Mot de passe
S'inscrireMot de passe oublié ?
 
 
 
 
Partenaires

Hébergement Web