2589 - Set Last 2: Diferență între versiuni

De la Universitas MediaWiki
Fără descriere a modificării
Fără descriere a modificării
Linia 20: Linia 20:
: 103
: 103
== Rezolvare ver. 1 ==
== Rezolvare ver. 1 ==
<syntaxhighlight lang="python" line="1" start="1">
def validare(n):
    return n.isdigit() and 1 <= int(n) <= 32767
def setlast(n):
# Setam cei mai putin semnificativi 2 biti la 1
    n = n | 3
print("Valoarea dupa setarea celor mai putin semnificativi 2 biti la 1: ", n)
if __name__ == "__main__":
    n = int(input("Introduceti un numar pe 16 biti cu semn: "))
if validare(n):
    n = int(n)
    print("Datele introduse corespund restricțiilor impuse.")
    setlast(n)
else:
    print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>

Versiunea de la data 9 aprilie 2023 13:11

Cerință

Se citește un număr n într-o variabilă de tip întreg pe 16 biți cu semn. Setați la valoarea 1 cei mai puțin semnificativi doi biți ai săi apoi afișați valoarea variabilei.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran valoarea cerută.

Restricții de precizări

  • -32768 ⩽ n ⩽ 32768

Exemplul 1

Intrare
5
Ieșire
Datele introduse corespund restricțiilor impuse.
7

Exemplul 2

Intrare
100
Ieșire
Datele introduse corespund restricțiilor impuse.
103

Rezolvare ver. 1

def validare(n):
    return n.isdigit() and 1 <= int(n) <= 32767

def setlast(n):
# Setam cei mai putin semnificativi 2 biti la 1
    n = n | 3

print("Valoarea dupa setarea celor mai putin semnificativi 2 biti la 1: ", n)


if __name__ == "__main__":
    n = int(input("Introduceti un numar pe 16 biti cu semn: "))


if validare(n):
    n = int(n)

    print("Datele introduse corespund restricțiilor impuse.")
    setlast(n)

else:
    print("Datele introduse nu corespund restricțiilor impuse.")