Nombre premier inferieur a un nombre N

Fermé
khalilx0x Messages postés 13 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 12 février 2017 - 12 févr. 2017 à 16:57
khalilx0x Messages postés 13 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 12 février 2017 - 12 févr. 2017 à 17:27
salut
voici mon petit code source qui ne marche pas malheureusement je sais pas ou erreur.
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
int n, i,j;
char test = 'v';
printf("saisir le nombre :");
scanf("%d",&n);
if(n==1) printf("le nombre 1 n'est pas premier.");
for(j=2;j<=n;j++)
{
for(i=2;i<=j/2;i++)
{
if(j%i==0) test = 'f';
}
if(test=='v') printf("le nombre %d est premier.\n", j);
}

return 0;
}

ma question est ou est erreur??


quand j'utilise une procédure ça fonctionne parfaitement :
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void premier(int n)
{
int i;
char test = 'v';
for(i=2;i<=n/2;i++)
{
if(n%i==0) test = 'f';
}
if(test=='v') printf("le nombre %d est premier.\n", n);

}
int main(int argc, char *argv[]) {
int n, i,j;
printf("saisir le nombre :");
scanf("%d",&n);
if(n==1) printf("le nombre 1 n'est pas premier.");
for(j=2;j<=n;j++)
{
premier(j);
}

return 0;
}
Merci d'avance.

1 réponse

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
12 févr. 2017 à 17:15
tu ne nous expliques pas ce qui ne marche pas : ton programme boucle, donne une erreur, ?
et ainsi?
int main(int argc, char *argv[]) { 
int n, i,j; 
printf("saisir le nombre :"); 
scanf("%d",&n); 
if(n==1) printf("le nombre 1 n'est pas premier."); 
for(j=2;j<=n;j++) 
{ 
char test = 'v';
for(i=2;i<=j/2;i++) 
{ 
if(j%i==0) test = 'f'; 
} 
if(test=='v') printf("le nombre %d est premier.\n", j); 
} 
return 0; 
} 
0
khalilx0x Messages postés 13 Date d'inscription lundi 5 janvier 2015 Statut Membre Dernière intervention 12 février 2017
12 févr. 2017 à 17:27
merci beaucoup j'ai oublié de réinitialiser le test ===> le met dans la boucle
0