Algorithme du ppmc
RésoluKX Messages postés 19031 Statut Modérateur -
24 réponses
- 1
- 2
Recherche d'un algorithme fiable pour calculer le ppcm (plus petit commun multiple) de plusieurs nombres, afin de déterminer rapidement un multiple commun à l'ensemble des éléments et faciliter les calculs. Plusieurs réponses proposent d'utiliser le pgcd comme base et d'appliquer un calcul itératif du ppcm entre deux nombres, puis d'intégrer progressivement chaque nombre supplémentaire pour obtenir le résultat final. D'autres signalent une méthode par maxi et un facteur n croissant, ou une approche par réduction en sous-ensembles qui calcule d'abord le ppcm de deux nombres puis l'applique au suivant. Les échanges incluent des extraits de code Liberty BASIC et des conseils sur le codage, tout en soulignant que l'approche optimale dépend du contexte et du nombre de nombres.
-
tout d'abord tu prends le plus grand de tous les nombres que tu veux comparer, tu l'appelle [maxi], puis tu le multiplie par n (tu demare avec n=1)
ensuite tu divise chaque nombre par [maxi] x n si le resultat de la division est un entier pour chaque nombre tu as trouvé le ppcm. si pour au moin un des nombre le resultat de la division n'est pas un entier alors tu incremente n de 1 et tu recommence.
voici le code en Liberty BASIC.
print "calcul du plus petit commun multiple"
input "combien de nombres voulez-vous comparer ";nb
dim n(nb)
maxi=0
for i=1 to nb
print "entrez le nombre numero ";i
input n(i)
maxi=max(maxi, n(i))
next i
while z=0
z=1
count=count+1
multiple=maxi*count
for u=1 to nb
cp=multiple/n(u)
ab=int(cp)
if ab<>cp then z=0
next u
wend
print "le ppcm de :"
for i=1 to nb
print n(i)
next i
print "est :"
print multiple
wait
Tu trouveras Liberty BASIC en telechargement sur le site :
http://lbasic.atomysk.com
et de l'aide sur le forum qui va avec:
http://lbasic.atomysk.com/forum/
- 1
- 2