[C] Les Boucles For

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

Je réalise un programme en C et j'ai besoin de faire une boucle for pour des valeur précises : 2, 3, 5, 7, 11, .. : des nombres premiers.

Je pense en mettre maximum 20 différentes.


Es ce possible?

merci d'avance,
Julien
A voir également:

7 réponses

Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46
 
ce que tu peux faire c'est un boucle for avec un i qui s'increment de 1 en 1
puis apres tester si ton i est premier .. si oui alors tu fais ton bidouillage .. sinon tu continu ta boucle ^^
1
Utilisateur anonyme
 
Si ce que je demande n'est pas possible, je ferai comme ça oué ^^ mais c'est lourd.
0
Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46
 
c'est qu'un petit if en plus ^^ lol
enfin bon a ma connaissance ( maigre je l'avoue ^^ ) je n'en connais pas Oo
0
Utilisateur anonyme
 
euhh, il y a une fonction en C qui revoie si le nombre est premier?! ..
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
je crois pas... tu dois la faire toi meme mais c'est pas tres compliqué ;)
0
Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46
 
oui et non ^^ plutot une regle de calcul ^^
une question de modulo je sais plus trop trop ^^ je cherche et j'te dis ca ^^
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437 > Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention  
 
oui il suffit de faire le modulo du nombre N avec tous les nombre inferieur a N et si le modulo n'est jamais egal a zero alor le nombre est premier
0
Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46 > Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention  
 
tu fais une fct :
int premier (int nb){
  int i, test = 0 prems = 0;
  for (i = 2; i < nb; i++)
    if (nb % i == 0)
      test = 1;
  if (!test)
    prems = 1;
  else
    prems = 0;
  return prems;}
puis ds ton main :
for(i=0;i<N;i++){
  test=premier(i);
  if(test==1){ .... }}
ca devrait marcher ^^
0
Utilisateur anonyme
 
ok merci,

ptite derniere question, est il possible de modifier la valeur de i dans une boucle for ?

par exemple :

for(i=0; i<10; i++){
razrazraz
....

i=i+3;
}
0
Brachior Messages postés 613 Date d'inscription   Statut Membre Dernière intervention   46
 
oui biensur ^^ par contre fais attention
si par exemple i=2 et que tu fais i=i+3 alors i vaudra 6 et non 5 car il prendra le i++ justa apres ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
oui c'est possible
mais ça va te faire sauté des "i"
avec ton exemple au premier tour ça sera i=0 mais au deuxieme tour tu vas passé directement a i=4
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

voici quelques algo en C, pour vérifier si un nombre entier est premier
http://www.commentcamarche.net/faq/sujet 7646 verifier si un nombre entier est un nombre premier en c
0
Utilisateur anonyme
 
c'est gentil, merci de votre aide!
0