Documente Academic
Documente Profesional
Documente Cultură
1. Prezentare general
CMMDC al dou numere a i b este cel mai mare numr care le divide pe ambele. Exemplu:
dac a=30 i b=105, atunci cmmdc(a, b)=15 (3, 5, 15 sunt divizori comuni pentru a i b, dar
pe noi ne intereseaz cel mai mare, adic 15).
La matematic ai nvat un algoritm pentru determinarea cmmdc:
Se descompun numerele n factori primi;
Se aleg factorii primi comuni (o singur dat fiecare), cu exponentul cel mai mic i se
nmulesc ntre ei.
1 1 1 1 1 1
Exemplu: a=30 =2 * 3 * 5 , b=105 = 3 * 5 * 7 , factorii comuni la puterea cea mai
1 1
mic sunt 3 i 5 , nmulindu-i obinem 15.
La informatic nu vom folosi acest algoritm, deoarece ar fi destul de dificil de
implementat. n schimb exist doi algoritmi simpli pentru calculul cmmdc: algoritmul lui
Euclid i algoritmul lui Nicomahus.
#include<iostream>
#include<fstream>
int a,b,r;
r=a%b;//calculez restul
a=b;//deimpartitul devine impartitorul
b=r;//impartitorul devine restul
}
g<<a;//afisam in fisierul de iesire cmmdc
return 0;
}
1
Clasa a IX-a A, E
#include<iostream>
#include<fstream>
int a,b;
4. Aplicaii
4.1. Se citesc dou valori naturale a i b. S se calculeze i s se afieze cel mai mic multiplu
comun al lui a i b. Cel mai mic multiplu comun a dou numere a i b este cel mai mic numr
nenul care se mparte exact la a i la b.
2
Clasa a IX-a A, E
#include<iostream>
#include<fstream>
int a,b,r,cmmmc;
return 0;
}
4.2. Din fiierul ireductibil.in se citesc dou valori naturale a i b, reprezentnd numrtorul
i numitorul unei fracii. S se aduc fracia la forma ireductibil i s se afieze n fiierul
ireductibil.out numrtorul i numitorul acesteia separate prin semnul /.
#include<fstream>
int a,b,r;
int main()
3
Clasa a IX-a A, E