Fie două numere naturale a şi b (a < b). Să se afişeze toate numerele rotunde din intervalul [a, b) şi numărul lor. (Un număr este rotund dacă în reprezentarea în baza 2 are numărul de cifre de 1 egal cu numărul de cifre de 0.)
Exemplu: 12(10)→→ 1100(2) este rotund.
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
using namespace std;
#include <iostream>
int rotund(int n){
int c,c0,c1,r;
c0=c1=0;r=0;
while (n>0) {
c=n%2;
if (c==0) c0=c0+1;
else c1=c1+1;
n=n/2;
}
if (c0==c1) r=1;
return r;
}
int main() {
int i,a,b;
cout<<"a:";
cin>>a;
cout<<"b:";
cin>>b;
for(i=a;i<b;i++)
if (rotund(i)==1) cout<<i<<" ";
}
Anexe:
Alte întrebări interesante
Matematică,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă