Salut,
les nombres premiers sont ceux qui ne sont divisibles que par eux-mêmes et par 1.
Il faut donc exclure tous ceux qui sont pairs (divisibles par deux), divisibles par 3 (somme des chiffres divisible par 3), qui se terminent par 5 (multiples de 5) ainsi que tous les nombre que l'on a pu tester jusqu'à présent et qui se sont révélés premiers (7, 11, 13...)
Pour savoir si un nombre est divisible par un autre, il faut appliquer la fonction 'modulo' qui renvoie le reste de la division.
Exemple :
10 modulo 3 = 1, le reste est non nul, donc le nombre n'est pas divisible.
12 modulo 4 = 0, le reste est nul, 12 est donc divisible par 3.
Cette fonction s'appelle aussi 'division euclidienne' ou 'division entière'...
Tu trouveras facilement avec google des exemples de programmes calculant les nombres premiers, ainsi que des méthodes pour accélérer les traitement (cette recherche est la base de nombreux systèmes de cryptographie...)
A+ Blux
"Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Debut
Pour N allant de 1 à 1000 faire
DPour
Som 0
Pour i allant de 1 à N div 2 faire
DPour
C N mod i
Si C = 0 alors Som Som+i
FPour
Si N = Som alors ecrire ( N )
FPour
FIN
int main()
{
int LeNb, Div, Cpt;
printf("Entrez votre Nombre pour savoir si il est premier ou non\n");
scanf("%d", &LeNb);
Div = LeNb - 1;
if (((LeNb % 2) == 0) && (LeNb != 2)) {
printf("Nombre non premier\n");
}
else {
while (((LeNb % Div) != 0) && (Div >= 1)){
Div--;}
if ((Div == 1) && (LeNb / LeNb == 1)){
printf("Nombre premier\n");
}
else {
printf("Nombre non premier\n");}
}
}