[C] Les Boucles For

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
Configuration: Linux
Firefox 3.0

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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. Si ce que je demande n'est pas possible, je ferai comme ça oué ^^ mais c'est lourd.
      1. c'est qu'un petit if en plus ^^ lol
        enfin bon a ma connaissance ( maigre je l'avoue ^^ ) je n'en connais pas Oo
    2. euhh, il y a une fonction en C qui revoie si le nombre est premier?! ..
      1. je crois pas... tu dois la faire toi meme mais c'est pas tres compliqué ;)
      2. oui et non ^^ plutot une regle de calcul ^^
        une question de modulo je sais plus trop trop ^^ je cherche et j'te dis ca ^^
      3. @Brachioroui 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
      4. @Brachiortu 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 ^^
    3. 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;
      }
      1. 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 ;)
    4. 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