Informatică, întrebare adresată de andiandrei01, 9 ani în urmă

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.

Răspunsuri la întrebare

Răspuns de Grizzlly
1
Pbinfo? :)))

#include <iostream>
#include <cmath>

using namespace std;
long long a, b, K, ai, a1, X, n, ni, p;
int main()
{
cin>>n;
ni=n;
while(ni){
p++;
ni=ni/10;
}
K=pow(10,p/2);
b=n%K;
if(p%2==0){
a=n/K;
}else a=n/(K*10);
if(a==0 || b==0){
cout<<a+b;
}else{
while(a%b){
a1=a;
a=b;
b=a1%b;
}
X=b;
cout<<X;}
return 0;
}
Alte întrebări interesante