Informatică, întrebare adresată de dututacu, 9 ani în urmă


Cerinţa
Să se scrie un program care să determine cel mai mare divizor comun a două numere naturale citite de la tastatură.

Date de intrare
Programul citește de la tastatură două numere naturale a și b.

Date de ieşire
Programul afișează pe ecran numărul x, cel mai mare divizor comun al numerelor a și b.

Restricţii şi precizări
0 <= a, b < 1.000.000.000
dacă ambele numere sunt egale cu 0 se va afișa valoarea -1
VA ROG AJUTOR!!CAT SE POATE DE REPEDE!!!

Răspunsuri la întrebare

Răspuns de programming
0

#include
using namespace std;
 
long cmmdc(long &a,long &b){
    long r=a%b;
    while(r>0) {
       a=b;
       b=r;
          r=a%b;
    }
    return b;
}
 
int main(){
    freopen("euclid2.in","r",stdin);
    freopen("euclid2.out","w",stdout);
    long a,b,n;
    scanf("%d",&n);
    for (int i=1; i <=n; ++i)
    {
        scanf("%d %d", &a,&b);
        printf("%d\n", cmmdc(a,b));
    }
 
    return 0;
}
Alte întrebări interesante