fbpx

Problema #2798 – Echilibrat – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Un număr natural este numit echilibrat dacă suma cifrelor sale de pe poziții pare este un număr par, iar suma cifrelor sale de pe poziții impare este un număr impar. Pozițiile cifrelor sunt numerotate de la dreapta la stânga, astfel: cifra unităților este pe poziția 0, cifra zecilor este pe poziția 1 ș.a.m.d.

Subprogramul echilibrat are un singur parametru, n, prin care primește un număr natural (n∈[10,109]). Subprogramul returnează valoarea 1 dacă n este echilibrat sau valoarea 0 în caz contrar.

Scrieți definiţia completă a subprogramului.

Exemplu

Dacă n=25163912, subprogramul returnează valoarea 1, iar dacă n=11211, subprogramul returnează valoarea 0.

Important

Soluția propusă va conține definiția subprogramului cerut. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.

bool echilibrat(int n)
{
    int sp = 0 , si = 0;
    int cnt = 0;
    while(n)
    {
        if(cnt%2==0)
            sp+=n%10;
        else
            si+=n%10;
        n/=10;
        cnt++;
    }
    if(sp%2==0 && si%2==1)
        return 1;
    return 0;
}
Comentarii

S-ar putea sa iti placa