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ăspunsuri la întrebare
Răspuns de
0
#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;
}
mierlaaurie:
de ce sa se afiseze abs(x-y)?????????
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă