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

Se citesc n nr naturale. Calculati cel mai mare divizor comun si imar al lor. Va rog in C++, fara vectori, sau alte moduri. Sa incepa asa:
#include
using namespace std;
int main()
{
int
cin>>



Si asa mai departe!
Va rog cat mai repede!!

Răspunsuri la întrebare

Răspuns de lucaciucandrei
2

#include <iostream>

using namespace std;

int main() {

   int a, b;

   cin >> a >> b;

   while (a % 2 == 0 && b % 2 == 0) {

       a /= 2;

       b /= 2;

   }

   while (a % 2 == 0)

       a /= 2;

   while (b % 2 == 0)

       b /= 2;

   while (a != b) {

       if (a > b)

           a -= b;

       else

           b -= a;

       while (a % 2 == 0)

           a /= 2;

       while (b % 2 == 0)

           b /= 2;

   }

   cout << a;

   return 0;

}

Alte întrebări interesante