Informatică, întrebare adresată de cris2210, 8 ani în urmă

Scrieți o funcție ce are ca parametrii 3 numere întregi a,b,c. Funcția returnează cmmdc al numerelor a,b,c. (cel mai mare divizor comun)

Răspunsuri la întrebare

Răspuns de Patriktanasoiu
1

Răspuns:

Explicație:

#include<iostream>

using namespace std;

int cmmdc(int a, int b, int c)

{

   while(a!=b)

       if(a>b) a-=b;

       else b-=a;

   while(a!=c)

       if(a>c) a-=c;

       else c-=a;

   return c;

}

int main()

{

   int a,b,c;

   

   cout<<"A="; cin>>a;

   cout<<"B="; cin>>b;

   cout<<"C="; cin>>c;

   cout<<cmmdc(a,b,c);

}

Răspuns de Sergetec
2

Salut!

Functia in C++

int cmmdc(int a, int b, int c) {

   while (b) {

       int r = a % b;

       a = b;

       b = r;

   }

   //cmmdc dintre a si b va fi in variabila a

   while (c) {

       int r = a % c;

       a = c;

       c = r;

   }

   //cmmdc dintre cmmdc dintre a, b si c va fi in variabila a

   return a;

}


Explicatie:

Folosim algoritmul lui Euclid prin impartiri repetate

Alte întrebări interesante