IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Determiner si n est premier ou non


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 128
    Par défaut Determiner si n est premier ou non
    Bonjour,

    je suis en train de faire un petit exercice.
    Le but est de faire un programme qui détermine si le nombre "n" saisi est un nombre premier ou pas.

    Le programme que j'ai créé dit que tout les nombres sont premier or cen'est pas le cas dans la réalité.

    Voici le code, je pense bien avoir mis les 2 bonnes conditions pour qu'un nombre soit premier, mais cela ne marche pas... .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    #include <iostream>
    #include <stdlib.h>
    using namespace std;
     
    int main(int argc, char *argv[])
    {
        int n(0);
     
        cout << " Veuillez choisir un entier " << endl;
        cin >> n;
     
        // Determine si le nombre est premier ou pas.
     
        if ((n/1==n) && (n/n==1)) // Remplire les 2 conditions ( divisible par lui même ET par 1)
     
            cout << " C'est un nombre premier" << endl;
     
        else cout << "Ce nombre n'est pas premier" << endl;
     
        system("pause");
        return(0);

    Merci de guider un débutant motivé

  2. #2
    Membre émérite

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par défaut
    Bonjour !

    Quelque chose me dit que les nombres entrés sont tous premiers ?!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((n/1==n) && (n/n==1))
    Un nombre divisé par un sera toujours égal à lui même.
    Et un nombre divisé par lui même sera toujours égal à un.

    Le calcul des nombres premiers est un poil plus compliqué.

    Pour savoir si le nombre x est premier, il faudrait "tester" de 0 à x si x peut être divisé par une autre valeur que 1 ou lui même.

    #edit en admettant parler de nombres entiers.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 128
    Par défaut
    Bonjour,

    oups effectivement avec une bonne nuit de sommeil, cela saute au yeux !

    Bon reste plus qu'a trouver les conditions adéquates.
    Merci

  4. #4
    Membre très actif

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 685
    Par défaut
    Salut,

    petit indice, l'opérateur % permet de récupérer le reste d'une division entière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       cout << 24 % 8; //renvoie 0 ;)

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Il existe plusieurs algorithmes pour trouver les nombres premiers.

    Tu es supposé en trouver un toi-même, ou simplement en implémenter un ?

    C'est pour apprendre l'algorithmique, ou le C++ ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 128
    Par défaut
    Bonjour à vous

    Citation Envoyé par Kaamui Voir le message
    Salut,

    petit indice, l'opérateur % permet de récupérer le reste d'une division entière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       cout << 24 % 8; //renvoie 0 ;)
    Oui je connais le modulo, je vais essayer ce soir de trouvé un truc qui passe.

    Citation Envoyé par oodini Voir le message
    Il existe plusieurs algorithmes pour trouver les nombres premiers.

    Tu es supposé en trouver un toi-même, ou simplement en implémenter un ?

    C'est pour apprendre l'algorithmique, ou le C++ ?
    Non, je peut en utilisé un qui existe.
    C'est pour apprendre l'algo et le c++, j'ai pas trop de bases ( le BTS remonte à 4 ans et depuis, je n'ai pas programmer. De plus à l'époque du BTS, la "prog" ne fut pas mon point fort... .

    Actuellement je suis la formation de Concepteur Développeur Info pour faire un master derrière en admin système et réseaux avec mon entreprise.

    Là je suit un peu larguer, mais je m'accroche et je suis motivé motivé... .

    Sinon j'espère que le fait de ne pas être matheux ne va pas me jouer de sales tours.

Discussions similaires

  1. Verifier si le textarea est vide ou non
    Par marsupilami34 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/02/2009, 07h44
  2. select sur premier caractère non alphabétique
    Par blasted dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/10/2005, 11h58
  3. [VBA-E]selectionner la premiere cellule non vide d'une ligne
    Par muse47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/10/2005, 08h11
  4. Réponses: 11
    Dernier message: 26/05/2005, 13h43
  5. Noyau du deboggeur BORDBK41.dll est manquant ou non rescencé
    Par Colinbayard dans le forum C++Builder
    Réponses: 3
    Dernier message: 08/12/2004, 00h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo