online: 10; azi: 752; total: 51207 Manual clasa a ix a - Algoritmi - Algoritmi pentru conversii intre sisteme de numeratie

Manual clasa a IX a

Algoritmi

Algoritmi pentru conversii intre sisteme de numeratie

Să se afişeze toate numerele naturale cuprinse între a şi b (a<b) care au proprietatea că pătratul şi cubul lor , reprezentate în baza 2, conțin acelaşi număr de cifre binare 0. a şi b se introduc de la tastatură .
# include < iostream >
using namespace std ;
int main () {
int a = 1 , b = 100 ;
for ( int i = a; i <= b; i++) {
int sqr = i * i;
int cube = i * i * i;
int sqr_zeros = 0 , cube_zeros = 0 ;
while ( sqr > 0 ) {
if ( sqr % 2 == 0 ) {
sqr_zeros ++;
}
sqr /= 2 ;
}
while ( cube > 0 ) {
if ( cube % 2 == 0 ) {
cube_zeros ++;
}
cube /= 2 ;
}
if ( sqr_zeros == cube_zeros ) {
cout << i << endl ;
}
}
return 0 ;
}

Acest program folosește un for loop pentru a itera prin toate numerele între a și b. Pentru fiecare număr, calculează pătratul și cubul său și numără numărul de cifre binare 0 din reprezentarea lor în baza 2, utilizând două while loops și operatorul % pentru a verifica dacă cifra curentă este 0. Dacă numărul de cifre 0 din reprezentarea în baza 2 a pătratului este egal cu numărul de cifre 0 din reprezentarea în baza 2 a cubului, numărul este afișat la consolă utilizând std :: cout .