👤

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



Exemplu
Intrare

24 36
Ieșire

12


//aici e codul
#include

using namespace std;
int a,b,r;
int main()
{
cin>>a>>b;
if(a==0 && b==0) cout<<0;
else
{
r=a%b;
while(r)
{
a=b;
b=r;
r=a%b;
}
cout< }
return 0;

}

//o am de 80 de puncte pe pbinfo. ma poate ajuta cineva cu ceva modificari??


Răspuns :

Uite rezolvarea problemei:
Vezi imaginea ALEXUBEBE
Asta e Algoritmul lui Euclid.  Si la algoritmul tau ar trebui sa pui long long (10000000) .Poti incerca cu Algoritmul prin scaderi repetate. 
citeste a ,b
daca a=o sau b=o atunci
                           Scrie a+b
                              altfel
                           cat timp a!=b executa
                                                    daca a>b atunci 
                                                                      a=a-b
                                                                      altfel
                                                                         b=b-a
                                 Scrie a.