Nombres premiers en c : problemes

Fermé
kinggainer Messages postés 2 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 7 novembre 2011 - Modifié par kinggainer le 4/11/2011 à 12:16
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 11 nov. 2011 à 12:53
Bonjour, je suis un élève de bts informatique et pour moi la programmation est vraiment nouvelle . j ai essayer de faire un programme simple d' un exercice basique et je ne comprends pas pourquoi ça ne marche pas.

je dois demander a un utilisateur de saisir un nombre entre 2 et N et trouver tous les nombres premiers de 2 a N j ai essayer avec un modulo mais ça ne marche pas... quelqu un pourrait m éclairer un peu?

voici le programme ( j ai vraiment un niveau basique donc il faut que ça reste dans la simplicité par ce que sinon je ne comprendrais pas...) :

#include<stdio.h>





int main ()
{
int nbr;
int i;
int m=0;

printf("Veuillez entrer un nombre entier:");

scanf("%d",&nbr);



while(nbr<2)
{
printf("erreur:Veuillez entrer un nombre entier:");

scanf("%d",&nbr);
}


for(i=0;i<=nbr;i=i+1)
{


if(nbr%i==0)

{m=m+1;}

}

if(m==2)
{
printf("Les nombres premiers sont:\n");




}

m=0;
nbr=nbr-1;
}

3 réponses

vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
4 nov. 2011 à 12:29
voici le résultat d'une petite recherche sur google:
https://openclassrooms.com/forum/sujet/nombre-premier-83611
0
kinggainer Messages postés 2 Date d'inscription vendredi 4 novembre 2011 Statut Membre Dernière intervention 7 novembre 2011
7 nov. 2011 à 09:38
ce n est pas tout a fait le meme sujet mais merci quand meme c est déjà intéressant
0
est ce que quelqu un pourais m aider a trouver l errerur sur mon programme ?
0
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
11 nov. 2011 à 11:25
Oui c'est normal que ça ne marche pas : Tu comptes les nombres pairs comme premiers, et aussi tous les multiples des nombres premiers !
En fait il faut partir de la racine du nombre donné, puis pour chaque nombres impair, tester le modulo avec tous les nombres impairs inférieurs...
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
11 nov. 2011 à 12:53
Regarde le crible d'Eratosthène
par exemple:
https://www.scriptol.fr/programmation/crible.php
0