Răspuns :
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:
#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:
#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;
}
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;
}