Posez votre question Signaler

Algorithme du ppmc [Résolu]

stephane - Dernière réponse le 31 déc. 2011 à 08:31
Salut, j'aimerais savoir si quelqu'un connaît un algo pour avoir le ppmc de plusieurs nombres. (plus petit multiple commun). Merci d'avance.
Lire la suite 

Algorithme du ppmc »

29 réponses
Réponse
+7
moins plus
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/
Ajouter un commentaire
Réponse
+2
moins plus
Si on develloppe un peu plus le sujet on peu aussi considerer un ensemble de nombre en le divisant en deux sous-ensembles. dès lors le ppcm de l'ensemble est aussi le ppcm des ppcm des deux sous-ensembles.

on peu exploiter cette particularité pour accelerer les calculs en prenant les deux premiers nombres, on calcul le ppcm, puis on prends le ppcm obtenu et le troisieme nombre, on calcule le ppcm, on prends le ppcm et le quatrieme et ainsi de suite jusqu'a la fin de la liste.

voici le code:

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)
next i
cls
print "je recherche le ppcm de ces nombres..."
sort n(, nb, 1
for i=1 to nb
print n(i)
next i
nb1=n(1)
nb2=n(2)
gosub [ppcm]
if nb>2 then
for u=3 to nb
nb1=ppcm
nb2=n(u)
gosub [ppcm]
next u
end if
print "le ppcm est :"
print ppcm
input r$
end

[ppcm]
count=0
while z=0
scan
z=1
count=count+1
ppcm=nb1*count
cp=ppcm/nb2
ab=int(cp)
if ab<>cp then z=0
wend
return

@++

ps: [code]test[/code]
Ajouter un commentaire
Réponse
+2
moins plus
tu veux le PGCD ?
la factorisation ?
les nbres premiers ?
carolina02 - 7 oct. 2008 à 01:16
slt pascale je suis vraiment besoin de ton aide je ss en 1er année en tdi et je trouve des prob avec algo est les nombre premier
et j'ai une exercice que j'ai pa copris si tuu vx m'aider pour trouuuver sa solution svp
exercice
nombres de fibonacci
considérons la suite de fibonacci:le 1er nbr de la suite vaut1.le deuxieme 2 et chacun des nbr suivants s'obtient par la formule:
f=derniereavant dernier
ou dernier et avant dernier sont respectivement le dernier et l'avant dernier des nbr de fibonacci
ecrire un algo qui calcule et affiche les n premier nbr de fibonacci n'etant saisi par l'utilisateur par exemple.pour n=6,les 6 premier nbr de fibonacci:1.2.3.8.13.si t'as trouver une solution et tu vx m'aider mon msn et tgr_hsf@hotmail.com et jvx la solution le plus possible
KX - 7 oct. 2008 à 09:40
En réalité la suite de Fivbonacci commence toujours par 1,1,2...
procedure Fibonnacci(n:integer);
          procedure Intermediaire(n,a,b:integer);
          begin
          if n>0 then begin
                      writeln(a);
                      Intermediaire(n-1,b,a+b);
                      end;
          end;
begin
if n<2 then writeln(1); // cas n=0 ou n=1
if n=1 then writeln(1); // cas n=1
if n>1 then Intermediaire(n+1,1,1);
end;
Ajouter un commentaire
Réponse
+1
moins plus
voici le lien direct sur le forum de Liberty BASIC.

http://lbasic.atomysk.com/forum/viewtopic.php?p=903#903
Ajouter un commentaire
Réponse
+1
moins plus
Slt,
Bah oui... j'veux bien... merçi...
p.legal - 5 juil. 2005 à 13:33
Et UN calcul de PGCD par ici :
    print "calcul du plus grand commun diviseur"
    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)
    next i
    cls
    print "je recherche le pgcd de ces nombres..."
    sort n(, nb, 1
    for i=1 to nb
        print n(i)
    next i
    nb1=n(1)
    nb2=n(2)
    gosub [pgcd]
    if nb>2 then
        for u=3 to nb
            nb1=pgcd
            nb2=n(u)
            gosub [pgcd]
        next u
    end if
    print "le pgcd est :"
    print pgcd
    input r$
    end

[pgcd]
    mini=min(nb1, nb2)
    maxi=max(nb1, nb2)
    ecart=maxi-mini
    if nb1*nb2=0 then
        pgcd=maxi
        goto [end.pgcd]
    end if
    
    while ecart<>0
        scan
        maxi=max(ecart,mini)
        mini=min(ecart,mini)
        ecart=maxi-mini
    wend
    pgcd=maxi
    [end.pgcd]
    return


@++

liberty BASIC France: http://lbasic.atomysk.com
Forum d'aide : http://lbasic.tatomysk.com/forum
Ajouter un commentaire
Réponse
+1
moins plus
rien de plus simple que les algorythme de comparaison de 2 facteur 1er .


ppcm ou pgcd,

tu prend le print( calcul du + grand diviseur commun pr les incultes), tu emt le nombre input que tu veux comparer(2 facteur 1er),


pr le pgcd , tu divise lun par lautre jusqa la fin , enfin c du niveau 4eme , mai pr le ppcm , tu dois prendre le " maxi" puis tu le multiplie par un nombre " n".apres tu divise chaque nombre par [maxi]x n ,( ps jexpik - bien jsui pa doué pr expliker).
= si le resultat est un nombre entier pr chaque division , TA TROUVE LE PPCM !!
pour " print" fo pa lutiliser n' importe comment ,

si tu trouve pa de nb entier o depart, tu recommence en changeant de " maxi".
Ajouter un commentaire
Réponse
+1
moins plus
bah deja ,pr calculer le ppcm , c juste une variante du pgcd , ya pa besoin de fer attention aux codage (ex : print , maxi"x")

tu prend des 2 nombres , le + grand tu le multiplie par "n", ensuite tu divise tt tes nombre par maxi , si tu trouve des nombres entier c le ppcm sinon tu recolmmence en changeant de "n"
Ajouter un commentaire
Réponse
+1
moins plus
Les sites ont changés d'adresse.

liberty Basic France : http://www.lbasic.fr
et son forum : http://www.lbasic.fr/forum/
Ajouter un commentaire
Réponse
+1
moins plus
a mort wow vive les maths !!!! sale no life retourne jouer a wow Gw ca tue
Ajouter un commentaire
Réponse
+1
moins plus
bon la , lmes no life du jeu on arrete , surtout alexi de la 1ere S de jules ferry !! ok ?
Ajouter un commentaire
Réponse
+0
moins plus
merci pour ta solution...
Ajouter un commentaire
Réponse
+0
moins plus
...XD , on es sur un site de maths , halalala c pas vrai !!
Ajouter un commentaire
Réponse
+0
moins plus
ETIENNE ARMANGO est un delegue nul , il sait rien faire et est un vrai noob ! c un cas c un cas , allons enfants de laaaa patrie !!
lalala lala llalala , vive guild wars
Ajouter un commentaire
Réponse
+0
moins plus
bon stop , ok alexis c un noob ^^ bon la c un site de maths okay ? alors allez le fer chier sur GW
Ajouter un commentaire
Réponse
+0
moins plus
bon , confllanst st honorine a gagné la coupe du monde des + gros taux de joueur Gw sur la planete !!


60000 no life ( c a dire le nombre de hb dans la ville) et ouais ^^




guild wars en force guild wars en force , conflanst , o Jo des jeux video !
Ajouter un commentaire
Réponse
+0
moins plus
allo ?
- ouais?
_ nan rien !






LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL
Ajouter un commentaire
Réponse
+0
moins plus
bon , tt les messages cons etaien en fet de moi , g fe plein de message sur le forum en prenan plusieur identite differente . je suis hackeur

vremen ct pa dur,ce forum est trop facil a craker
Ajouter un commentaire
Réponse
+0
moins plus
wow c pr les looser , c un truk moche ac les traphismes vremen naze


jouer a wow c la ire insulte qon peu fer a un pro gamer ,
wow c linsulte graphique a tout mmorpg
Ajouter un commentaire
Réponse
+0
moins plus
c interessant ce que vous proposez!!!
je veux l'algorithme qui nous donne la semaine à laquelle appartient une jour precis de l'année:exple:le 13 mars 2000
thanks
Ajouter un commentaire
Réponse
+0
moins plus
bonjour je veux vous questionne comment je peux ecrire un algorithme qui definie un carre comment on peut definie wun carre dans un algorithme
merci pour votre services et votre aide merci :)
a bientot
Ajouter un commentaire
Ce document intitulé « algorithme du ppmc » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook
algorithme du ppmc - page 2