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

7 réponses

  1. Brachior Messages postés 616 Statut Membre 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
  2. Utilisateur anonyme
     
    Si ce que je demande n'est pas possible, je ferai comme ça oué ^^ mais c'est lourd.
    0
    1. Brachior Messages postés 616 Statut Membre 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
  3. Utilisateur anonyme
     
    euhh, il y a une fonction en C qui revoie si le nombre est premier?! ..
    0
    1. mype Messages postés 2459 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
    2. Brachior Messages postés 616 Statut Membre 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
      1. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437 > Brachior Messages postés 616 Statut Membre
         
        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
      2. Brachior Messages postés 616 Statut Membre 46 > Brachior Messages postés 616 Statut Membre
         
        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
  4. 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
    1. Brachior Messages postés 616 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mype Messages postés 2459 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
  7. Utilisateur anonyme
     
    c'est gentil, merci de votre aide!
    0