Algorithme du ppmc

[Résolu/Fermé]
Signaler
-
Messages postés
16409
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
22 octobre 2021
-
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.

24 réponses

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/
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

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]
tu veux le PGCD ?
la factorisation ?
les nbres premiers ?
Messages postés
2
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
7 octobre 2008

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
Messages postés
16409
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
22 octobre 2021
2 901 >
Messages postés
2
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
7 octobre 2008

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;

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"

a mort wow vive les maths !!!! sale no life retourne jouer a wow Gw ca tue
voici le lien direct sur le forum de Liberty BASIC.

http://lbasic.atomysk.com/forum/viewtopic.php?p=903#903

Slt,
Bah oui... j'veux bien... merçi...
Messages postés
88
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
21 mars 2008
24
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

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".
Messages postés
88
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
21 mars 2008
24
Les sites ont changés d'adresse.

liberty Basic France : http://www.lbasic.fr
et son forum : http://www.lbasic.fr/forum/

bon la , lmes no life du jeu on arrete , surtout alexi de la 1ere S de jules ferry !! ok ?
merci pour ta solution...

...XD , on es sur un site de maths , halalala c pas vrai !!

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

bon stop , ok alexis c un noob ^^ bon la c un site de maths okay ? alors allez le fer chier sur GW

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 !

allo ?
- ouais?
_ nan rien !






LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL

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
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
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