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
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Cmmdc2:
#include <iostream>
using namespace std;
int main(){
int n , x , y , r;
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;
while(y % x != 0)
{
r = y % x;
y = x;
x = r;
}
cout << x;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #410 Cmmdc2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #410 Cmmdc2 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!