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 :

PPCM de deux float


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 59
    Par défaut PPCM de deux float
    Bonjour,

    Comment calculer le PPCM de deux float (PPCM = Plus Petit Commun Multiple) ?

    J'ai trouvé comment le calculer le PPCM de deux entiers mas pas celui de deux Float.

    Un bout de code sera la bienvenue.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    A mon avis, ce que tu demandes n'a pas de sens en mathématiques.

    Tu trouveras TOUJOURS un plus petit commun multiple aussi petit que tu veux dans l'ensemble des réels.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    En effet, le PPCM de deux floats n'a pas de sens. Qui te demande de faire ça ?

  4. #4
    Membre chevronné
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Par défaut
    Est-ce que ton problème est syntaxique ?

    Parce que comme l'a soulevé ram-000, il n'y a pas de PPCM dans les réels, uniquement les entiers.

    Si c'est un problème de syntaxe ou de sémantique, il faut veiller à ce que tes nombres réels soient convertis en entiers avant l'application du PPCM, ou ne faire une fonction PPCM qui n'accepte que des entiers, de cette manière, même si tu appelles ta fonction avec des doubles, le resultat se basera sur la partie entière.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int ppcm( int a, int b )
    {
       ... calcul du ppcm ...
    }
     
    int main()
    {
       double nombre1 = 18.1;
       double nombre2 = 9.2;
       std::cout << ppcm( nombre1, nombre2 ) << std::endl; // affichera bien le ppcm de 18 et de 9
    }

  5. #5
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Exactement : le PPCM n'a de sens que pour les entiers, c'est de l'arithmétique. Le faire sur des réels (floats) n'a aucun sens : tu n'auras pas plus de précision qu'avec des entiers, et même au contraire : tu vas en perdre un max !!
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  6. #6
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 59
    Par défaut
    Je cherche pas de précision.
    Tout simplement les valeurs dont je vais calculer leurs PPCM sont des Floats.
    Est ce que je peux faire ainsi :

    Float a = 0.8;
    Float b= 0.2 ;
    Je vais par exemple les multiplier par 100 puis calculer le PPCM et à la fin deviser le PPCM par 100

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Ce n'est pas possible, cela n'a pas de sens.

    En admettant que cela soit possible, le PPCM de 0.8 et 0.2 pourrait être 0.2, 0.01, 0.000001, 0.0000000005 etc.

    Il y a TOUJOURS un plus petit nombre qui soit un diviseur alors que dans l'ensemble des entiers, il n'y a pas toujours de plus petit nombre qui soit un diviseur. C'est pour cela que le PPCM a un sens dans l'ensemble des entiers mais pas dans l'ensemble des réels (flottants).
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par wassimb Voir le message
    Je cherche pas de précision.
    Tout simplement les valeurs dont je vais calculer leurs PPCM sont des Floats.
    Est ce que je peux faire ainsi :

    Float a = 0.8;
    Float b= 0.2 ;
    Je vais par exemple les multiplier par 100 puis calculer le PPCM et à la fin deviser le PPCM par 100
    Quel que soient les réels A et B, et les facteurs réels I et J, un "commun multiple" M tel que M=A.I=B.J ne sera JAMAIS le plus petit, car il existe toujours plus petit : M/2 = A.I/2 = B.J/2 ... Et cela ne s'arrêtera jamais (cf. calcul infinitésimal et limites pour la preuve).

    C'est pour cela que le PPCM n'a aucun sens avec des réels...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Comparaison de deux float
    Par MysticKhal_0 dans le forum C
    Réponses: 5
    Dernier message: 14/09/2012, 01h08
  2. Optimisation de la multiplication de deux float
    Par barhili04 dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 28/11/2009, 13h43
  3. Incertitude sur le produit de deux float
    Par f56bre dans le forum C++
    Réponses: 4
    Dernier message: 18/02/2009, 18h18
  4. Comparaison de deux Float
    Par The eye dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/02/2008, 20h46
  5. [Math]Addition de deux float : résultat faux !!!
    Par toctof dans le forum Général Java
    Réponses: 4
    Dernier message: 20/05/2005, 11h02

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