Bonjour à tous,
Je dois réaliser un petit programme en C. On commence par entrer un entier N. Le but est, en utilisant une boucle for, de dire si chaque entier compris entre 1 et N est premier ou non.
Mon problème est qu'une fois que la boucle atteint un entier non premier, tous les nombres suivants sont considérés comme non premier ..
Code :
- #include <stdio.h>
- int main()
- {int i=2,S=1,N,q,j;
- scanf("%i",&N);
- for(j=2;j<=N;j++) {
- for(i=2;i<j&&S==1;i=i+1) {
- q=j/i;
- if (q*i==j){S=0;} ;
- }
- printf("La solution pour %i est S=%i\n",j,S);
- }
- }
|
Le problème vient-il de la condition d'arrêt à la ligne 6 ?