Accueil > Forum > > > > programme nombres premiers
programme nombres premiers
mercredi 2 décembre 2009 à 19:38:59 |
programme nombres premiers

I0o0I
|
Bonjour,
j ai une question pour un programme plutot math mais la question est pas math du tout... c est surement très facile a résoudre. En gros j ai 2 fonction qui doivent me permettre de trouver des nombres premiers.
le calcule est: si fonction02(x-2)/ fonction01(x)==0, alors fontion01(x) est un nombre premier...
le problème est le suivant... un utilisateur du programme doit pouvoir entrer un nombre n de son choix et le programme doit lui sortir tt les chiffre premier qui (corrspondent au calcule ci dessus) jusqu a n.
Donc pour ma main fonction j ai essayé de faire un boucle for du style for(i=0; i<=n; ++i) et
if fonction02(i-2)/fonction01(i)==0 output: <<fonction01(i)<<"sont des chffres premiers" mais ca marche pas... je sais pas si je doit plutot faire un tableau.... désolée si c est pas très clair, je peut poster le programme si jamais..
|
|
jeudi 3 décembre 2009 à 10:11:09 |
Re : programme nombres premiers

CptPingu
|
C'est pas super clair, mais ton raisonnement semble relativement correcte.
J'aurai effectivement fait un:
Code C/C++ :
for(int i = 0; i <= n; ++i)
{
int a = fonction02(i - 2);
int b = fonction02(i);
if ((a / b) == 0)
std::cout << b << " est un nombre premier" << std::endl;
}
Que ce sont fonction01 et fonction02 ? J'ai considéré qu'elles retournaient des entiers, mais je n'en sais rien.
|
|
jeudi 3 décembre 2009 à 10:38:47 |
Re : programme nombres premiers

tpoinsot
|
bonjour,
ce n'est pas clair, effectivement, et je me demande ce que tu as en tête quand tu parles de tableau.
par ailleurs, je suis surpris
- par la boucle, de 0 à n inclus
- par un appel à f(i-2) mais c'est peut être légitime pour f
- par une division qui ne vérifie pas que le dénominateur est différent de 0
- par le test (a/b) == 0. En réel, pour b!=0, c'est équivalent à (a == 0). en entier, c'est ( abs(a) < abs(b) )
thip
|
|
jeudi 3 décembre 2009 à 10:45:02 |
Re : programme nombres premiers

CptPingu
|
- par la boucle, de 0 à n inclus
Ce n'est pas faux en soit.
- par un appel à f(i-2) mais c'est peut être légitime pour f
fonction01(i) et pas fonction02(i), petite inattention de ma part.
- par une division qui ne vérifie pas que le dénominateur est différent de 0
Les cas d'erreur: pour plus tard.
- par le test (a/b) == 0. En réel, pour b!=0, c'est équivalent à (a == 0). en entier, c'est ( abs(a) < abs(b) )
Je n'ai fait que recopier en code quelque chose d'énoncer très vaguement. Impossible donc de corriger quoi que ce soit avant d'avoir des précisions supplémentaires :)
|
|
jeudi 3 décembre 2009 à 12:21:35 |
Re : programme nombres premiers

tpoinsot
|
Désolé, CptPingu, je ne voulais pas te froisser, je m'adressais plutôt à I0o0I mais j'ai omis de le préciser.
thip
|
|
jeudi 3 décembre 2009 à 12:22:48 |
Re : programme nombres premiers

CptPingu
|
Désolé, CptPingu, je ne voulais pas te froisser, je m'adressais plutôt à I0o0I mais j'ai omis de le préciser.
Je ne suis pas froissé, tes remarques sont tout à fait pertinentes !
|
|
jeudi 3 décembre 2009 à 14:45:17 |
Re : programme nombres premiers
|
jeudi 3 décembre 2009 à 16:39:41 |
Re : programme nombres premiers

I0o0I
|
Excusez moi, j i trop foiré, j devais etre fatiguée...
Donc je reprend: c'est pas divisé par, c est
fonction02(x-2)%fonction01(x)==0 (la ca parait un peu plus sensé). alors voila le programme les 2 fonction marchent mais pas la main (elle compile mais elle me retourne pas du tt ce que je veux... en plus je trouve bizarre j ai du définir 2x i pour que ca compile... bon tt facon c est faux donc si vous pouviez m indiquer une petite piste... merci bcp pour votre aide en tt cas!!)
//programme lucmes.cpp
// Ce programme va nous dire si des nombres de mersenne (de la forme 2^b-1) sont premier jusqu a un certain nombre n choisi grace au fonction lucas() et mersenne(). Le calcul est: si et seulement si la valeur lucas(i-2)%mersenne(i)==0, alors mersenne(i) est premier.
//lucas-lehmer function
//PRE: on doit choisir une valeur pour la fonction quand c =0 car cette fonction est défini recursivement. On choisi par exemple la valeur 4.
//POST: la fonction retourne: (lucas(c-1))²-2.
#include<iostream>
unsigned int lucas(unsigned int a) {
if (a==4)
{
return 0;
}
else return (lucas(a-1)*lucas(a-1))-2;
}
//mersenne function
//PRE: pas de précondition b est un usigned int
//POST: la fonction retourne 2^b-1
unsigned int mersenne(unsigned int b){
int result= 0;
int k=1;
for (unsigned int c=0; c<b; ++c)
k*=2;
result = k -1;
return result;
}
int main()
{
std::cout<<"find the prime numbers until n=?";
unsigned int n;
std::cin>>n;
unsigned int i=6; //j ai mis ca pcq lucas() est définie quand x=4.
unsigned int a = lucas (i-2);
unsigned int b = mersenne(i);
for (unsigned int i=6;n>=i; ++i)
if (a%b==0);
std::cout<<b<< "are prime numbers\n";
return 0;
}
Voila j espère que ca va, j ai mis mille commentaires pour que ca soit plus clair... peut etre que ca fait pas très pro mais de tt facon j essaie de tromper personne ;)
a+
|
|
jeudi 3 décembre 2009 à 16:48:14 |
Re : programme nombres premiers

I0o0I
|
j ai aussi essayé avec ton bout de code CptPingu
for(int i = 0; i <= n; ++i)
{
int a = fonction02(i - 2);
int b = fonction02(i);
if ((a / b) == 0)
std::cout << b << " est un nombre premier" << std::endl;
}
en remplacent / par %....
mais l output est aussi faux...
|
|
jeudi 3 décembre 2009 à 19:23:09 |
Re : programme nombres premiers

tpoinsot
|
attention, ton for n'a pas d'accolades, c'est troublant (mais pourquoi pas?) , et il y a un point virgule à la fin du if (là c'est faux)
je suppose que tu veux mettre les définitions de a et b dans le for, et non pas avant;
à la 1ère itération, tu appelles lucas(4) qui vaut 0 or 0%b == 0 tout le temps.
utilise un débuger ou mets des traces car l'algoritme est bizarre
lucas(4) = 0
lucas(5) = -2 ! pas franchement un unsigned int
lucas(6) = 2
Finalement, je pense que ton algoritme est faux, tu devrais vérifier.
thip
|
|
Cette discussion est classée dans : programme, question, premiers, nombres, fonction01
Répondre à ce message
Sujets en rapport avec ce message
Question assez technique [ par CalistX ]
J'aimerais construire un programme qui gére la ram.Je m'explique :ce programme tournerait en tâche de fond, il faudrait qu'il vérifie les actions fait
une question toute simple.. aidez moi, stp!!! [ par xose ]
Je viens d'installer le Borland C++. Une fois que le programme est compilé, la fenetre noire disparait toute suite!! Je n'arrive pas à voir jamais les
Probleme sur un programme qui calcule un pgcd [ par El loco ]
Voila j ai un probleme sur le programme suivant, il marche correctement avec une grande serie de nombres mais quand je tape 15 et 32 il me donne un pg
QUESTION ya T IL UN AUTRE MOYEN EN RESEAU ? [ par bily ]
Vegeta :-)comment faire pour envoyer un fichier par programme ??je programme en c++builder et j'utilise les socketsG 1 IDEE mais est ce la BONNE ?Li
question existencielle [ par knubie ]
il existe des programme comme artmoney qui permete de trouver des chaine de charactere des entier des floatant et des chaine de charactere dans la me
Recommencement d'un programme [ par wins ]
Bonjour,Je dois créer un programme en C++ dans lequelle nous devons posez une question à l'exécuteur du logiciel.Cette question ce lit comme suit. On
nombres aléatoires en c++ [ par johanb ]
bonjour a tous, voici mon problême.Dans un programme, je dois générer deux fois un nombre aléatoire entre 0 et n (appelé max dans le programme). Voici
Question de faisabilité [ par talaron ]
Sltj'ai un programme de traitement d'images en c++ et je vais surement devoir programmer la meme chose dans un PIC.Je voudrais savoir s'il existe un c
Le port Série [ par cheMoor ]
Salut tout le monde c'est un programme est super !!!Ma question sur [size=4]les événements du Port !!!![/size=4]:: Existe-t-il un événement qui se déc
Question DLL [ par LordBob ]
Bonjours a tous,en fait je voudrais juste savoir s'il été possible d'utiliser une DLL aussi bien avec un programme fonctionnant en mode console qu'un
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|