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
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:
#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
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;
}
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
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă