Téléchargé 26 fois
Vote des utilisateurs
0
0
Détails
Licence : Non renseignée
Mise en ligne le 31 décembre 2019
Plate-formes :
Linux, Mac, Windows
Langue : Français
Référencé dans
Navigation
Nombres Premiers
Nombres Premiers
Vous entrez un nombre et le programme trouvera tous les nombres premiers compris entre 0 et votre nombre !
Bonjour,
Je vous propose un nouvel élément à utiliser : Nombres Entiers
Vous entrez un nombre et le programme trouvera tous les nombres entiers compris entre 0 et votre nombre!
Qu'en pensez-vous ?
Je vous propose un nouvel élément à utiliser : Nombres Entiers
Vous entrez un nombre et le programme trouvera tous les nombres entiers compris entre 0 et votre nombre!
Qu'en pensez-vous ?
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
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.
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 : | Sélectionner tout |
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.
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 ! :-)
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 ! :-)
Keo,
C'est ce que je me suis dit aussi, mais j'avais déjà de quoi répondre.
C'est ce que je me suis dit aussi, mais j'avais déjà de quoi répondre.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | bool est_premier(int nombre) // verifie si nombre est multiple 2 ou 3 puis verifie si nombre est multiple de p = 6 i ± 1 tant que p * p <= nombre { if (nombre < 2) return false; int p = 2; int s = 1; int i = 0; while (p * p <= nombre) { if (nombre % p == 0) return false. if (p == 2) ++p; else {if (s == 1) ++i; p = 6 *i + (s = - s);} } return true; } |
Une alternative très simple pour calculer les nombres premiers entre 2 et 4 milliards et quelques ...enfin je crois..😉
Sur ma tablette Nexus 10 donne les premiers inférieurs ou égaux à 500000 en moins de 2 secondes[ATTACH]185779d1/a/a/a" />
Sur ma tablette Nexus 10 donne les premiers inférieurs ou égaux à 500000 en moins de 2 secondes[ATTACH]185779d1/a/a/a" />
Désolé, je croyais avoir inséré dans PJ mais non😱
Code C : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include <stdio.h> #include <stdlib.h> #include <math.h> /* Générateur de nombres Premiers */ /* Inférieurs ou égaux à 4294967295 */ /* Auteur : Lemariey Jean-Philippe */ int main(int argc, char *argv[]) { div_t resultat; int i = 3; int j = 1; int n = 0; int r = 0; double m = 0.0; printf ("Ceci est un générateur de nombres Premiers inférieurs ou égaux à N \n"); printf("Votre valeur de N svp : "); scanf("%i", &n); printf("\n 2 "); while (i <= n) { j = 2; resultat = div(i, j); r = resultat.rem; m = sqrt((double)i); // pas la peine de chercher au delà de // racinecarrée i while (j <= m && r != 0) { j++; resultat = div(i, j); r = resultat.rem; } if (j > m) { printf("%d ", i); } i += 2; //On ne teste que les nombres impairs } return 0; } |
Programme C dans la section C++ ...
En C++, de nos jours, une table de nombres premiers, ça se calcule à la compilation
(enfin, je ne suis pas sûr que ce soit possible, en fait. Avis aux amateurs de défis).
En C++, de nos jours, une table de nombres premiers, ça se calcule à la compilation
(enfin, je ne suis pas sûr que ce soit possible, en fait. Avis aux amateurs de défis).
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.