Les nombres premiers :programme c
Fermé
saadinto
-
28 mars 2008 à 19:17
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 29 mars 2008 à 05:06
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 29 mars 2008 à 05:06
A voir également:
- Les nombres premiers :programme c
- Code binaire des nombres - Guide
- Nombres faciles - Télécharger - Outils professionnels
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Excel
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum LibreOffice / OpenOffice
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? - Forum VB / VBA
2 réponses
mype
Messages postés
2435
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
16 août 2010
436
29 mars 2008 à 04:27
29 mars 2008 à 04:27
il suffit que tu le testes pour savoir si le code est bon...
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
29 mars 2008 à 05:06
29 mars 2008 à 05:06
Bonjour,
J'ai un peu remanié ton code, comme tu peux le constater, teste-le et dis-moi ce que tu en penses, moi là j'en ai mare. Je l'ai testé ça semble aller, à toi maintenant, il est trop tard (ou trop tôt) pour continuer.
//2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 et 97
J'ai un peu remanié ton code, comme tu peux le constater, teste-le et dis-moi ce que tu en penses, moi là j'en ai mare. Je l'ai testé ça semble aller, à toi maintenant, il est trop tard (ou trop tôt) pour continuer.
//2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 et 97
int main() { //Initialise les variables. int n = 0, bool_1er = 0, nombre_1er_voisin = 0; int ind_prog_m = 0; signed int borne_m = 2147483646; //Pour boucler sur la fonction à concurrence de la valeur -1 saisie. while (n != -1) { cout <<"\n 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 et 97"; puts ( "\n\n tappez un entier: " ); scanf ( "%d", &n ); if ( n > 0 ) //pour tester le nombre entré par l utilisateur { bool_1er = fonction1 ( n ); if ( bool_1er == 0 && n != 1) { printf ("\n %d n'est pas un nombre premier ", n); // borne_m = 2147483646; ind_prog_m = 1; nombre_1er_voisin = fonction2 ( n, ind_prog_m, borne_m ); printf ("\n %d est le nombre premier immediatement > voisin de: %d", " "nombre_1er_voisin, n); ind_prog_m = -1; nombre_1er_voisin = fonction2 ( n, ind_prog_m, borne_m ); printf ("\n %d est le nombre premier immediatement < voisin de: %d", " "nombre_1er_voisin, n); } else { if ( n == 1) { printf ("\n 1 n'est ni premier ni composé");} else { printf ("\n %d est un nombre premier ", n); } } } else { if ( n < -1 ) { printf ("\n Nombre saisi incoherent:%d", n); } } } return (0); } //la fonction ki renvoi un int (0-->nombre non premier,autre nombre-->nombre premier) int fonction1 (int x) { int y = 0, booleen; for ( y = 2; y < x; y++ ) { if ( (x % y) == 0) { booleen = 0; break; } else { booleen = 1; } } if ( x == 2 ) { booleen = 1; } return booleen; } //la fonction 2 ki retourne le n ieme nombre premier correspendant int fonction2 (int n, signed int ind_prog, int borne) { int j = 0; for ( j = n + ind_prog; j < borne; j = j + ind_prog ) { if ( fonction1 (j) ) { break; } } return (j); }