2672 - Primul bit: Difference between revisions
Pagină nouă: <nowiki>== Cerință ==</nowiki> În reprezentarea în baza 2 a unui număr natural: <nowiki>*</nowiki>primul bit (cel mai din stânga) este cel mai semnificativ, ultimul bit este cel mai puțin semnificativ; <nowiki>*</nowiki>biții se numerotează de la dreapta la stânga, începând de la 0. Se citește numărul n. Să se determine numărul de ordine al celui mai semnificativ bit. <nowiki>== Date de intrare ==</nowiki> Programul citește de la tastatură numărul <co... |
Vardai Erwin (talk | contribs) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Cerință == | |||
În reprezentarea în baza 2 a unui număr natural: | În reprezentarea în baza 2 a unui număr natural: | ||
*primul bit (cel mai din stânga) este cel mai semnificativ, ultimul bit este cel mai puțin semnifica-tiv; | |||
*biții se numerotează de la dreapta la stânga, începând de la 0. | |||
Se citește numărul '''n'''. Să se determine numărul de ordine al celui mai semnificativ bit. | |||
== Date de intrare == | |||
Programul citește de la tastatură numărul '''n''' într-o variabilă de tip întreg pe 64 de biți fără semn. | |||
== Date de ieșire == | |||
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran poziția primului bit a lui '''n''' de la stânga la dreapta. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | |||
== Restricții de precizări == | |||
*valoarea lui '''n''' se poate reprezenta pe 64 de biți, fără semn; | |||
== Exemplul 1== | |||
; Intrare | |||
: 5 | |||
; Ieșire | |||
: Datele introduse corespund restricțiilor impuse. | |||
: 2 | |||
== Exemplul 2 == | |||
; Intrare | |||
: 23 | |||
; Ieșire | |||
: Datele introduse corespund restricțiilor impuse. | |||
: 4 | |||
== Rezolvare ver. 1 == | |||
<syntaxhighlight lang="python" line="1" start="1"> | |||
def validare(n): | |||
return n.isdigit() | |||
< | |||
def primulbit(n): | |||
# initializam variabila bit cu valoarea 0 | |||
bit = 0 | |||
# cat timp numarul este mai mare decat 1, il impartim la 2 si incrementam variabila bit cu 1 | |||
while n > 1: | |||
n //= 2 | |||
bit += 1 | |||
# afisam valoarea variabilei bit | |||
print(bit) | |||
if __name__ == "__main__": | |||
n = input() # citim numarul | |||
if validare(n): | |||
n = int(n) | |||
print("Datele introduse corespund restricțiilor impuse.") | |||
primulbit(n) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> |
Latest revision as of 19:58, 24 April 2023
Cerință[edit | edit source]
În reprezentarea în baza 2 a unui număr natural:
- primul bit (cel mai din stânga) este cel mai semnificativ, ultimul bit este cel mai puțin semnifica-tiv;
- biții se numerotează de la dreapta la stânga, începând de la 0.
Se citește numărul n. Să se determine numărul de ordine al celui mai semnificativ bit.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n într-o variabilă de tip întreg pe 64 de biți fără semn.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran poziția primului bit a lui n de la stânga la dreapta. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări[edit | edit source]
- valoarea lui n se poate reprezenta pe 64 de biți, fără semn;
Exemplul 1[edit | edit source]
- Intrare
- 5
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 2
Exemplul 2[edit | edit source]
- Intrare
- 23
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 4
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line="1" start="1"> def validare(n):
return n.isdigit()
def primulbit(n):
# initializam variabila bit cu valoarea 0 bit = 0
# cat timp numarul este mai mare decat 1, il impartim la 2 si incrementam variabila bit cu 1 while n > 1: n //= 2 bit += 1
# afisam valoarea variabilei bit print(bit)
if __name__ == "__main__":
n = input() # citim numarul if validare(n): n = int(n)
print("Datele introduse corespund restricțiilor impuse.") primulbit(n)
else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>