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

Un număr reprezintă o putere a lui 2 (2^K ) dacă orice divizor al său (mai mare ca 1) este
par. Care dintre următoarele secvenţe de instrucţiuni verifică în mod corect dacă un număr
n este o putere a lui 2 ?

Anexe:

Răspunsuri la întrebare

Răspuns de sasukeuchiha27
1

Răspuns:

c)

Explicație:

Se porneste cu ok=1, deci se presupune adevarat ca numarul respectiv e o putere a lui 2.

In for se merge de la 2 pana la n, adica se cauta orice numar > 1 pana la n.

In if se verifica daca n se imparte la i, deci daca este divizor si daca restul este > 0, deci s-a gasit un divizor impar. In cazul acesta ok = 0, deoarece contrazice cerinta.

In final, daca ok ramane 1, inseamna ca toti divizorii gasiti sunt pari si se afiseaza "DA", altfel ok s-a transformat in 0, asadar s-a gasit un divizor impar, deci se afiseaza "NU".

Alte întrebări interesante