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

Se citeste un numar natural n care are cel putin 3 cifre. Determinati toate numerele echilbrate mai mici sau egale decat n. Un numar este considerat echilibrat daca numarul cifrelor impare din componenta este egal cu numarul cifrelor pare din componenta.

Răspunsuri la întrebare

Răspuns de andriesboss92
0
Daca vrei sa verifici daca DOAR un numar este echilibrat foloseste codul acesta:
#include <iostream>
using namespace std;

int par=0,impar=0;
long int n;
int main()
{
         cin>>n;
         while(n>99)
         {
                  ok=1;
                  if((n%10)%2==0) 
                          par++;
                  else
                           impar++;
                  n=n/10; 
        }
         if(ok==0)
                  cout<<"Numar incorect !";         
         else if(impar==par)
                  cout<<"Numar echilibrat";
         else if(impar != par )
                  cout<<"Nu este echilibrat";
}

Iar pentru toate numerele mai mici sau egale ca n este asta:
Anexe:
Răspuns de aggologan1999paihov
0
#include <iostream>
using namespace std;
int echilibrat(int n)
{
    int nri=0,nrp=0;
    while(n!=0)
    {
        if(n%10%2==0)
            nrp++;
        if(n%10%2==1)
            nri++;
        n=n/10;
    }
    if(nri==nrp)
        return 1;
    return 0;
}int main()
{
    int n,i;
    cout<<"n=";cin>>n;
    for(i=0;i<=n;i++)
        if(echilibrat(i)==1)
        cout<<i<<" ";
    return 0;
}
Alte întrebări interesante