Informatică, întrebare adresată de cristinaiasi, 8 ani în urmă

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 din [10,10^9]). 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.

Răspunsuri la întrebare

Răspuns de MichaelKing
13
int echi(int n)
{
   int sp=0, si=0, sem=1;
   do
   {
         if (sem==1)
              sp=sp+n%10;
         else
              si=si+n%10;
         sem=-sem;
         n=n/10;  
   }
   while(n);
   return (sp%2==0 && si%2==1);  
}
Alte întrebări interesante