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
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
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
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
En effet, le PPCM de deux floats n'a pas de sens. Qui te demande de faire ça ?![]()
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
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 }
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
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
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
CafuroCafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbeUn logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
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
Partager