[C] Les Boucles For

Fermé
Utilisateur anonyme - 31 mai 2008 à 17:06
 Utilisateur anonyme - 31 mai 2008 à 22:36
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 dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
31 mai 2008 à 17:17
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
31 mai 2008 à 17:33
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 dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
31 mai 2008 à 17:37
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
31 mai 2008 à 17:46
euhh, il y a une fonction en C qui revoie si le nombre est premier?! ..
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
31 mai 2008 à 17:49
je crois pas... tu dois la faire toi meme mais c'est pas tres compliqué ;)
0
Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
31 mai 2008 à 18:11
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436 > Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009
31 mai 2008 à 18:20
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 dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46 > Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009
31 mai 2008 à 18:22
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
31 mai 2008 à 18:48
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 dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46
31 mai 2008 à 18:52
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 jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
31 mai 2008 à 18:51
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
31 mai 2008 à 21:14
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
31 mai 2008 à 22:36
c'est gentil, merci de votre aide!
0