Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int numar=1;
while(numar<3){
numar+=1;
}
while(numar<24){
numar*=2;
}
numar+=1;
while(numar<100){
numar*=2;
}
cout<<numar;
return 0;
}
Explicație:
Raspunsul are 8 operatii.
Am incercat sa ajung la 50 * 2, adunad la inceput cu 2 apoi inmultind pana cand numarul ajunge la 24. Dupa, mai adaug 1 si incep sa inmultesc din nou.
Explicatie :
100 in baza 10 este 1100100 in baza 2.
El poate fi scris ca (((1*2)+1)*2*2*2+1)*2*2
In total 8 operatii (carein C++ pot fi rescrise ca 5 operatii folosind operatorii pe biti)
Cod C++ operatii minime :
#include <iostream>
using namespace std;
int main() {
int n = 1;
n <<= 1;
n |= 1;
n <<= 3;
n |= 1;
n <<= 2;
cout << n;
}
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.