Exo nombre premier

Exo nombre premier - C - Programmation

Marsh Posté le 10-10-2006 à 21:50:23    

Bonsoir,
Je vais surement demander kkchose de tout bete pour un certain nombre de personne mais difficile pour moi voila:
j'aimerais ecrire un petit programme en C qui en faisant une saisie par exemple 20 va me dire tout les nombres premiers compris dans ce chiffre
c'est a dire :
2  
3  
5  
7  
11  
13  
17  
19  
 
Merci !!!!!
 

Reply

Marsh Posté le 10-10-2006 à 21:50:23   

Reply

Marsh Posté le 10-10-2006 à 21:59:39    

ben, tu peut regarder du côté du crible d'Erathostène... une petite recherche google et tu devrais voir en quoi il consiste. :)

Reply

Marsh Posté le 10-10-2006 à 22:13:44    

nono0101 a écrit :

j'aimerais ecrire un petit programme en C qui en faisant une saisie par exemple 20 va me dire tout les nombres premiers compris dans ce chiffre


 
 [:alkatraz]  
http://www.google.fr/search?q=algo [...] s+premiers
 
Et y a même un intéressant article chez wikipédia :
http://fr.wikipedia.org/wiki/Nombre_premier
 
 


 
Point Pratchett atteint !

Message cité 1 fois
Message édité par Elmoricq le 10-10-2006 à 22:15:05
Reply

Marsh Posté le 10-10-2006 à 22:16:42    

merci mais ce n'est pas l'algo qui m'interesse mais plutot cet algo en C

Reply

Marsh Posté le 10-10-2006 à 22:19:50    

nono0101 a écrit :

merci mais ce n'est pas l'algo qui m'interesse mais plutot cet algo en C


C'est une plaisanterie ? Quand tu as l'algo, tu le codes en C, c'est tout.
 
Si tu as un problème avec le code, ben tu le postes. Tu ne penses quand même pas qu'on va s'occupper de ta femme écrire le code à ta place


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 10-10-2006 à 22:20:57    

nono0101 a écrit :

merci mais ce n'est pas l'algo qui m'interesse mais plutot cet algo en C


 
1. L'algorithme, c'est le plus difficile. Si tu l'as tout cuit, il te suffit de le retranscrire dans le langage qui va bien.
 
2. Ici c'est pas on-fait-le-travail-à-ta-place.com. Bosse un peu, et reviens avec du code et des questions.  [:lalrobin]
 
 
edit : grillé [:benou]


Message édité par Elmoricq le 10-10-2006 à 22:21:21
Reply

Marsh Posté le 10-10-2006 à 22:21:16    

Salut!
   bha, le programme C faut l'écrire. mais si t'a déjà l'algo, le plus dur est fait... On se retrousse les manches et c'est partit...
 
[edit] grillé de deux posts :D


Message édité par Amonchakai le 10-10-2006 à 22:22:21
Reply

Marsh Posté le 10-10-2006 à 22:21:25    

lol
Qu'est ce que t'es aimable "manu"
mais puisque ta l'air si malin do it

Reply

Marsh Posté le 10-10-2006 à 22:23:08    

Fais une recherche sur les messages d'Emmanuel, tu veras qu'il n'a pas grand chose à prouver. [:mlc]
 
(surtout sur un truc aussi trivial [:mlc] )


Message édité par Elmoricq le 10-10-2006 à 22:23:31
Reply

Marsh Posté le 10-10-2006 à 22:24:36    

nono0101 a écrit :

lol
Qu'est ce que t'es aimable "manu"
mais puisque ta l'air si malin do it


Nice try !


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 10-10-2006 à 22:24:36   

Reply

Marsh Posté le 10-10-2006 à 22:58:48    

Bon puisque t'as l'air motivé je te file le début, je pense que tu trouvera aisément comment compléter.

Code :
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.     unsigned int i;
  6.     int ret, c;
  7.     do {
  8.         fputs("Entrez un nombre: ", stdout);
  9.         ret = scanf("%u",&i);
  10.         while ( ((c = getchar()) != '\n') && c != EOF);
  11.     } while (ret!=1);
  12.     switch (i) {
  13.         default:
  14.             /* Je te laisse rajouter ce qu'il manque ici */
  15.         case 20:
  16.         case 19:
  17.             puts("19" );
  18.         case 18:
  19.         case 17:
  20.             puts("17" );
  21.         case 16:
  22.         case 15:
  23.         case 14:
  24.         case 13:
  25.             puts("13" );
  26.         case 12:
  27.         case 11:
  28.             puts("11" );
  29.         case 10:
  30.         case  9:
  31.         case  8:
  32.         case  7:
  33.             puts("7" );
  34.         case  6:
  35.         case  5:
  36.             puts("5" );
  37.         case  4:
  38.         case  3:
  39.             puts("3" );
  40.         case  2:
  41.             puts("2" );
  42.     }
  43.     return 0;
  44. }

Message cité 2 fois
Message édité par 0x90 le 10-10-2006 à 23:02:52

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 11-10-2006 à 06:12:13    

0x90 a écrit :

Bon puisque t'as l'air motivé je te file le début, je pense que tu trouvera aisément comment compléter.

Code :
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.     unsigned int i;
  6.     int ret, c;
  7.     do {
  8.         fputs("Entrez un nombre: ", stdout);
  9.         ret = scanf("%u",&i);
  10.         while ( ((c = getchar()) != '\n') && c != EOF);
  11.     } while (ret!=1);
  12.     switch (i) {
  13.         default:
  14.             /* Je te laisse rajouter ce qu'il manque ici */
  15.         case 20:
  16.         case 19:
  17.             puts("19" );
  18.         case 18:
  19.         case 17:
  20.             puts("17" );
  21.         case 16:
  22.         case 15:
  23.         case 14:
  24.         case 13:
  25.             puts("13" );
  26.         case 12:
  27.         case 11:
  28.             puts("11" );
  29.         case 10:
  30.         case  9:
  31.         case  8:
  32.         case  7:
  33.             puts("7" );
  34.         case  6:
  35.         case  5:
  36.             puts("5" );
  37.         case  4:
  38.         case  3:
  39.             puts("3" );
  40.         case  2:
  41.             puts("2" );
  42.     }
  43.     return 0;
  44. }



 
Optimisation: Pour tous les nombres à un chiffre, ça ira plus vite si on remplace "puts" par "putc"  [:ddr555]

nono0101 a écrit :

mais puisque ta l'air si malin do it


Celle là je l'avais jamais vue - Faut oser... [:mlc]


Message édité par Sve@r le 11-10-2006 à 21:21:33

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 11-10-2006 à 10:00:16    

0x90 a écrit :

Bon puisque t'as l'air motivé je te file le début, je pense que tu trouvera aisément comment compléter.

Code :
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.     unsigned int i;
  6.     int ret, c;
  7.     do {
  8.         fputs("Entrez un nombre: ", stdout);
  9.         ret = scanf("%u",&i);
  10.         while ( ((c = getchar()) != '\n') && c != EOF);
  11.     } while (ret!=1);
  12.     switch (i) {
  13.         default:
  14.             /* Je te laisse rajouter ce qu'il manque ici */
  15.         case 20:
  16.         case 19:
  17.             puts("19" );
  18.         case 18:
  19.         case 17:
  20.             puts("17" );
  21.         case 16:
  22.         case 15:
  23.         case 14:
  24.         case 13:
  25.             puts("13" );
  26.         case 12:
  27.         case 11:
  28.             puts("11" );
  29.         case 10:
  30.         case  9:
  31.         case  8:
  32.         case  7:
  33.             puts("7" );
  34.         case  6:
  35.         case  5:
  36.             puts("5" );
  37.         case  4:
  38.         case  3:
  39.             puts("3" );
  40.         case  2:
  41.             puts("2" );
  42.     }
  43.     return 0;
  44. }



 
Pas mal [:moule_bite]


---------------
Töp of the plöp
Reply

Marsh Posté le 11-10-2006 à 11:31:54    

Autre optimisation :
 
Remplacer le switch par des if imbriqués [:dawak]


---------------
Instagram - Mon PVT en Australie.
Reply

Marsh Posté le 11-10-2006 à 12:08:34    

not enough goto

Reply

Marsh Posté le 11-10-2006 à 21:31:54    

Elmoricq a écrit :

Et y a même un intéressant article chez wikipédia :
http://fr.wikipedia.org/wiki/Nombre_premier


Sensationnel cet article. J'ai pas tout compris mais j'ai beaucoup apprécié  :sol:  
 


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 13-10-2006 à 12:17:17    

Sve@r a écrit :

Sensationnel cet article. J'ai pas tout compris mais j'ai beaucoup apprécié  :sol:


Ouais,
Pour une fois, j'ai preferer lire le texte plutot que de regarder les dessins  :lol:

Reply

Marsh Posté le 11-03-2009 à 17:01:51    

#include <stdio.h>
#include <conio.h>
main()
{
 int i,p,n,m;
 
 printf("entrer un entier" );
 scanf("%d",&m);
n=1;
 while (n<m+1)
 {
 
 i=1;
 while (i*i<n+1)
 {i=i+1;
 if (n%i!=0) {p=n;}
 else {p=0;
 i=n+1;}
 }
 if (p!=0) {printf(" %d\n ", p);}
 n=n+1;
 }
}

Reply

Marsh Posté le 11-03-2009 à 17:16:47    

C'était vraiment pas la peine de déterrer un aussi vieux topic avec un code aussi pourri.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed