Informatică, întrebare adresată de popaofelia21, 8 ani în urmă

Se consideră algoritmul alăturat, reprezentat în pseudocod.
S-a notat cu a%b restul împărţirii numărului natural a la numărul natural nenul b şi cu [c]
partea întreagă a numărului real c.
citeşte n (număr natural nenul)
p←0
┌pentru i←1,n execută
│ m←i
│┌cât timp m%2=0 execută
││ m←[m/2]
│└■
│┌dacă m=1 atunci
││ p←i
│└■
└■
scrie p
a) Scrieţi valoarea afişată în urma executării algoritmului dacă se citeşte numărul 12.
b) Scrieţi cel mai mic şi cel mai mare număr care pot fi citite, astfel încât, pentru fiecare dintre
acestea, valoarea afişată să fie 16.
Daca se poate si explicat. Multumesc!

Răspunsuri la întrebare

Răspuns de lucaciucandrei
1

programul afiseaza cel mai mare numar din intervalul [1,n] care poate fi scris ca o putere a lui 2, adica sub forma 2^x

a) 8

b) 16, 31

16 logic ca e cel mai mic pt ca e ultimul si cel mai mare nr din intv [1,16] care inseamna 2^4 iar 31 deoarece daca punem 32 cel mai mare ar deveni 2^5=32 si automat se schimba p din 16 in 32

Alte întrebări interesante