👤

Cerinţa
Se citește un număr natural n. Acest număr se “împarte” în alte două numere a și b, astfel: a este format din cifrele din prima jumătate a lui n, b este format din cifrele din a doua jumătate a lui n. Dacă n are număr impar de cifre, cifra din mijloc se ignoră. De exemplu, dacă n=9183792, atunci a=918, iar b=792. Să se determine cel mai mare divizor comun al lui a și b.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran numărul X, reprezentând valoarea cerută.

Restricţii şi precizări
10 ≤ n ≤ 1.000.000.000

Exemplu
Intrare

9183792
Ieșire

18


Răspuns :

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

int n , x , y;

 

cin >> n;

x = n;

 

int nrc = 0;

do

{

 nrc ++;

 x /= 10;

}

while(x);

 

int p  = 1;

y = 0;

for(int i = 1 ; i <= nrc / 2 ; ++i){

 y += n % 10 * p;

 p *= 10;

 n /= 10;

}

if(nrc % 2 ==1)

 n /= 10;

x = n;

 

 

cout << abs(x-y);

 

return 0;

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!


En Studentsy: Alte intrebari