Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2801 connectés 

  FORUM HardWare.fr
  Programmation
  C

  fonction int premier(long n)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fonction int premier(long n)

n°1249082
amouna4567
Posté le 19-11-2005 à 20:48:14  profilanswer
 

bonjour tout le monde,je cherche une fonction int premier(long n) qui associe à n la valeur 1 si n est premier et retourne 0 si n n'est pas premier et cela doit etre ecrit en langage c.merci d avance pour votre aide

mood
Publicité
Posté le 19-11-2005 à 20:48:14  profilanswer
 

n°1249087
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2005 à 20:52:37  profilanswer
 

Dans la mesure où c'est plus que probablement pour un exercice scolaire, les règles du forum autorisent à t'aider (en corrigeant ton code ou en te guidant en partant de code à toi), mais pas à faire ton boulot.
(nb: ce ne serait pas un exercice scolaire, ce serait le même tarif).
 
Donc bonnes recherches :jap:
 
Un conseil néamoins: demandes toi quelle est la chose la plus simple qui caractérise un nombre premier, à partir du moment où tu as cette donnée concevoir un algorithme (peu efficace, mais ce n'est pas spécialement important) permettant de déterminer si un nombre est premier ou pas est trivial.


Message édité par masklinn le 19-11-2005 à 20:56:52

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1249093
Emmanuel D​elahaye
C is a sharp tool
Posté le 19-11-2005 à 21:08:31  profilanswer
 

amouna4567 a écrit :

bonjour tout le monde,je cherche une fonction int premier(long n) qui associe à n la valeur 1 si n est premier et retourne 0 si n n'est pas premier et cela doit etre ecrit en langage c.merci d avance pour votre aide


Cherche dans ta tête...


---------------
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/
n°1249125
amouna4567
Posté le 19-11-2005 à 22:29:04  profilanswer
 

#include<stdio.h>
#include<conio.h>
#include<math.h>
int premier(long n)
{
 int test=1;
 int i;
 if(n>=3)
 {
     for(i=2;i<=sqrt(n);i++)
     {
         if(n%i==0)
     
         test=0;
         printf("%d",test);
      }
     
 }
return(test);
}
int main()
{
    int x,i;
    printf("entrer votre nombre:" );
    scanf("%d",&x);
    for(i=2;i<=sqrt(x);i++)
    premier(x);
    getch();
    return(0);
}
le voila mon code

n°1249126
amouna4567
Posté le 19-11-2005 à 22:32:57  profilanswer
 

je ne sais où mettre le break pour que le programme sort de la boucle  dés qu il trouve que le nombre est premier

n°1249128
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2005 à 22:36:48  profilanswer
 

Où est le test décidant si le nombre est premier ou pas?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1249129
amouna4567
Posté le 19-11-2005 à 22:40:13  profilanswer
 

c est dans la boucle for si n%i=0(le reste de la division de n par i est nul) alors il est n est pas premier sinon il est premier

n°1249130
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2005 à 22:42:57  profilanswer
 

amouna4567 a écrit :

c est dans la boucle for si n%i=0(le reste de la division de n par i est nul) alors il est n est pas premier sinon il est premier


Voila, t'as ta réponse ;)
(À partir du moment où tu as déterminé qu'un nombre n'est pas premier, tu n'as aucun intérêt à continuer, il ne redeviendra pas premier)
 
Accessoirement, tu peux utiliser directement des return, ça évite des breaks et une variable temporaire inutile :o
 
Et il serait plus logique d'avoir une fonction qui retourne des booléens plutôt que des entier, vu qu'un nombre est premier ou pas :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1249139
KangOl
Profil : pointeur
Posté le 19-11-2005 à 22:59:28  profilanswer
 

et accessoirement ne pas recalculer la racine a chaque itération...


---------------
Nos estans firs di nosse pitite patreye...
n°1249194
el muchach​o
Comfortably Numb
Posté le 20-11-2005 à 02:00:52  profilanswer
 

Et incrémenter i de 2 dans la boucle.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
mood
Publicité
Posté le 20-11-2005 à 02:00:52  profilanswer
 

n°1249214
matafan
Posté le 20-11-2005 à 04:23:24  profilanswer
 

Si on va par là, à partir de 5 on peut aussi incrémenter i de 2, puis 4, puis 2, puis 4 et ainsi de suite. Ca évite les multiples de 2 et de 3. De même à partir de 7, tu peux trouver une séquence qui évite aussi les multiples de 5, mais après ça devient vite compliqué et le gain et de plus en plus faible (pour les flemmards, la séquence est 4, 2, 4, 2, 4, 6, 2, 6).

n°1249283
masklinn
í dag viðrar vel til loftárása
Posté le 20-11-2005 à 13:59:22  profilanswer
 

matafan a écrit :

Si on va par là, à partir de 5 on peut aussi incrémenter i de 2, puis 4, puis 2, puis 4 et ainsi de suite. Ca évite les multiples de 2 et de 3. De même à partir de 7, tu peux trouver une séquence qui évite aussi les multiples de 5, mais après ça devient vite compliqué et le gain et de plus en plus faible (pour les flemmards, la séquence est 4, 2, 4, 2, 4, 6, 2, 6).


On utilise le Crible d''Eratostène quoi


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1249389
matafan
Posté le 20-11-2005 à 17:37:20  profilanswer
 

Pas tout à fait. Cette méthode s'appelle "wheel factorization ".

n°1251909
amouna4567
Posté le 23-11-2005 à 21:32:41  profilanswer
 

ok merci tout le monde j ai pu faire ma fonction


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  fonction int premier(long n)

 

Sujets relatifs
La fonction TRIMAppeler une fonction GetUrl dans un fichier XML
premier programme javaFonction qui zappe les balises HTML
Erreur "fonction" is multiply-defined...Opération avec la fonction RANGE
[SQL Server] ntext -> <texte long>Bouton et appel fonction
Création d'une fonction sous Excelfonction copy() de fichier
Plus de sujets relatifs à : fonction int premier(long n)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR