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

  1. #1
    Nouveau membre du Club

    Homme Profil pro
    Formateur en informatique
    Inscrit en
    janvier 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Haïti

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : janvier 2017
    Messages : 3
    Points : 26
    Points
    26

    Par défaut Vérifier un nombre premier et calculer le nombre premier de Mersene

    Salutation à tous et à toutes


    je pratique la programmation c.

    j'écris un petit programme qui détermine si un nombre est premier et qui calcule le nombre premier de Mersene.

    ce programme vérifie bien pour les nombres de 2 à 31.

    il arrive que au delà de 31 il donne des résultats négatifs.

    comment vous pourrez m'aider svp



    tous mes remerciements


    Tsiklag

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur
    Inscrit en
    août 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : août 2011
    Messages : 61
    Points : 155
    Points
    155

    Par défaut

    Bonjour, Le lien ne fonctionne pas il serait plus facile d'utiliser les balise CODE pour poster le code.

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    décembre 2015
    Messages
    963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : décembre 2015
    Messages : 963
    Points : 4 889
    Points
    4 889

    Par défaut

    Bonjour,

    Sans voir le code.
    Un int peut stocker un nombre de -231 à +231-1. Le nombre de Mersenne 32 vaut 232-1 il ne peut donc pas tenir dans un int.
    Pour atteindre des tailles plus grandes, on peut utiliser le type unsigned long long qui va de 0 à +264-1.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur
    Inscrit en
    août 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : août 2011
    Messages : 61
    Points : 155
    Points
    155

    Par défaut

    Très juste d'ailleurs le type int peut même être limité a -215 à +215-1 selon l'architecture cible.
    Dans limits.h il y a INT_MIN et INT_MAX pour connaitre les valeurs acceptées par ce type sur l'architecture utilisée.

  5. #5
    Nouveau membre du Club

    Homme Profil pro
    Formateur en informatique
    Inscrit en
    janvier 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Haïti

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : janvier 2017
    Messages : 3
    Points : 26
    Points
    26

    Par défaut

    Citation Envoyé par pjlan Voir le message
    Très juste d'ailleurs le type int peut même être limité a -215 à +215-1 selon l'architecture cible.
    Dans limits.h il y a INT_MIN et INT_MAX pour connaitre les valeurs acceptées par ce type sur l'architecture utilisée.
    merci pour les messages
    ce que j'aurai besoin c'est: comment utilise un nombre plus grand. par exemple si je pourai verifier si ce nombre est premier 2^267464839 - 1

  6. #6
    Expert confirmé

    Inscrit en
    août 2006
    Messages
    3 774
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 774
    Points : 5 232
    Points
    5 232

    Par défaut

    Bonjour,
    Citation Envoyé par Tsiklag Voir le message
    merci pour les messages
    ce que j'aurai besoin c'est: comment utilise un nombre plus grand. par exemple si je pourai verifier si ce nombre est premier 2^267464839 - 1
    Il y a des bibliothèques multi-précision, permettant de calculer avec des nombres de taille uniquement limitée par les ressources de ton ordi.

    La plus connue est GMP, facile à trouver, je te laisse donc chercher.
    Le mysticisme est une maladie qui crée des problèmes là où il n’en existe pas.

  7. #7
    Membre chevronné
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    janvier 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : janvier 2011
    Messages : 610
    Points : 2 050
    Points
    2 050

    Par défaut

    Si mes calculs sont bons, 2^267464839 - 1 est un nombre énorme avec 900 millions de chiffres.
    Calculer la racine carré de ce nombre donne un nombre à 30 000 chiffres.

    C'est beaucoup, je ne suis pas sur que ton PC arrivera à traiter ces nombres immenses, ou alors n’importe quel algorithme prendra une éternité à s'exécuter.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    décembre 2015
    Messages
    963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : décembre 2015
    Messages : 963
    Points : 4 889
    Points
    4 889

    Par défaut

    Ce nombre n'est-il pas le plus grand nombre premier connu?
    Ça a dû être prouvé en utilisant des méthodes toutes autres que l'algorithme d'Euclide.

    Par la méthode standard, je pense qu'il faudra attendre plusieurs siècles de calcul avec le meilleur PC du jour pour déterminer cela (ouais, on est bien dans une éternité pour nous autres simples mortels.)
    Viser les nombres de Mersenne jusqu'à M63 n'est déjà pas si mal.

  9. #9
    Expert confirmé

    Inscrit en
    août 2006
    Messages
    3 774
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 774
    Points : 5 232
    Points
    5 232

    Par défaut

    Bonjour,

    Effectivement, il y a des algorithmes spécifiques pour tester la primalité des nombres de Mersene.

    Je ne connais pas leur principe, seulement qu'ils existent.
    Le mysticisme est une maladie qui crée des problèmes là où il n’en existe pas.

  10. #10
    Nouveau membre du Club

    Homme Profil pro
    Formateur en informatique
    Inscrit en
    janvier 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Haïti

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : janvier 2017
    Messages : 3
    Points : 26
    Points
    26

    Par défaut merci pour les reponses.

    merci pour les reponses.
    surtout pour le programme GMP
    je l'ai deja telecharger

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête pour vérifier le nombre de personnes
    Par floctc dans le forum PHP & MySQL
    Réponses: 19
    Dernier message: 21/07/2009, 15h05
  2. algorithme pour vérifier un nombre
    Par irodav dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 05/07/2009, 22h27
  3. Vérifier le nombres de lignes et colonnes utilisé
    Par derin dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/09/2008, 15h22
  4. vérifier le nombre de décimales
    Par peloman dans le forum Langage
    Réponses: 3
    Dernier message: 18/09/2007, 08h17
  5. [Jsp]Vérifier le nombre de connections
    Par antigone dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 21/08/2003, 10h56

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