fbpx

Problema #442 – Jumatate – Rezolvari PBInfo

de Mihai-Alexandru

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 valoarea absolută a diferenței dintre 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

  • 1 ≤ n ≤ 1.000.000.000

Exemplu

Intrare

9183792

Ieșire

126
#include <bits/stdc++.h>

using namespace std;
int main()
{

    int n,m,p=1,d,r;
    int a,b;
    cin>>n;
    int aux=n;
    int cate=0;
    while(aux!=0)
    {
        cate++;
        aux=aux/10;
    }
    if(cate%2==0)
    {
        while(cate/2>0)
        {
            p=p*10;
            cate-=2;
        }

        a=n%p;
        b=n/p;
    }
    else
        if(cate%2==1)
        {
            while(cate/2>0)
            {
                p=p*10;
                cate-=2;
            }

            a=n%p;
            b=n/p/10;
        }
    cout<<abs(a-b);
    return 0;
}
Comentarii

S-ar putea sa iti placa