ACEASTA E REZOLVAREA LA PROBLEMA DE INFORMATICA DE PE PBINFO.RO NUMITA PUTERE2INTERVAL POSTATA DE Radutanasa86.
#include
using namespace std;
int n,a,b;
int main()
{ cin>>n>>a>>b;
for(int i=a;i<=b && n;i++)
if(!(i&(i-1)))
{ cout<
n--; }
}
NU INTELEG MODUL DE REZOLVARE . GEN CE INSEAMNA if(!(i&(i-1))) ? PENTRU CA PROBLEMA CEREA PUTERILE LUI 2 DIN INTERVAL .. VA ROG SA IMI EXPLICATI
checkmate1209:
pls
Răspunsuri la întrebare
Răspuns de
2
Nu prea are sens chestiunea aia.
Cred ca stii ce face if-ul
In ce priveste parametrul !(i&(i-1))
! in fata expresiei inseamna negat, adica if-ul se executa atunci cand i&(i-1) este fals.
i&(i-1) este mereu fals
& reprezinta un operator pe biti, adica compara bitii variabilelor si returneaza 1 (adevarat) doar daca toti bitii sunt egali, adica practic daca numerele sunt egale, insa i & (i-1) nu este niciodata adevarat, asa cum probabil ti-ai dat seama.
Si cout << n-- pur si simplu decrementeaza n-ul introdus de la tastatura mai sus.
Pur si simplu nu are nici un sens rezolvarea asta
Alte întrebări interesante
Arte,
8 ani în urmă
Latina,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă