Présentation
Vous entrez un nombre et le programme trouvera tous les nombres premiers compris entre 0 et votre nombre!
|
Téléchargement
|
Compatibilité
|
#include <iostream> #include <vector> using namespace std; bool est_premier(int nombre); void affichageNombres(vector<int> nbPremiers); void main() { int nombre = 0; vector<int> nbPremiers; cout<<"Entrez un nombre : "; cin>>nombre; for(int j = 1; j < nombre; j++) { if(est_premier(j)) nbPremiers.push_back(j); } affichageNombres(nbPremiers); } bool est_premier(int nombre) { for(int i = 2; i < nombre; i++) { if(nombre % i == 0) return false; } return true; } void affichageNombres(vector<int> nbPremiers) { for(int k = 0; k < nbPremiers.size(); k++) cout<<nbPremiers[k]<<endl; }
Poster une réponse
|
Modérateur
le 09/06/2012 4:30 |
![]() |
|
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) - 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. |
|
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 ! :-) |
|
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.





