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

DAU 40 DE PUNCTE!!Se citeste un numar n cu numar par de cifre avand cel mult 8 cifre.Sa se afle cmmdc-ul dintre cele 2 ,,jumatati" ale nr.(ex:n=1216=》cmmdc-ul dintre 12 si 16 este 4)​​

Răspunsuri la întrebare

Răspuns de thet0mmy1407
2

Răspuns:

#include <iostream>  

using namespace std;

int main()

{

   int nr, aux, cmmdc, x = 1, p1 = 1, p2 = 1, a = 0, b = 0,  k = 0;

   cin >> nr; aux = nr;

   while(aux){

       k++;

       aux = aux / 10;

   }

   k = k / 2;

   while(nr){

       if(x <= k){

           a = a + p1 * (nr % 10);

           p1 = p1 * 10;

       }

         else{

           b = b + p2 * (nr % 10);

           p2 = p2 * 10;

         }

       x++;

       nr = nr / 10;

   }

   while(a != b){

       if(a > b)

           a = a - b;

         else

           b = b - a;

   }

   cmmdc = a;

   cout << cmmdc;

   return 0;

}


marinandrei70: multumesc!!
Alte întrebări interesante