2590 - Remove Last 2: Difference between revisions
No edit summary |
Vardai Erwin (talk | contribs) |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 4: | Line 4: | ||
Programul citește de la tastatură numărul '''n'''. | Programul citește de la tastatură numărul '''n'''. | ||
== Date de ieșire == | == Date de ieșire == | ||
Programul va afișa pe ecran valoarea cerută. | Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse." | ||
== Restricții de precizări == | == Restricții de precizări == | ||
*-32768 ⩽ '''n''' ⩽ 32768 | *-32768 ⩽ '''n''' ⩽ 32768 | ||
| Line 22: | Line 23: | ||
<syntaxhighlight lang="python" line="1" start="1"> | <syntaxhighlight lang="python" line="1" start="1"> | ||
def validare(n): | def validare(n): | ||
return n.isdigit() and | return n.isdigit() and -32768 <= int(n) <= 32767 | ||
def removelast(n): | def removelast(n): | ||
# Setam cei mai putin semnificativi 2 biti la 0 | # Setam cei mai putin semnificativi 2 biti la 0 | ||
n = n & ~0x3 # ~0x3 este echivalent cu 0xFFFC (toți biții sunt 1, mai puțin ultimii 2 care sunt 0) | n = n & ~0x3 # ~0x3 este echivalent cu 0xFFFC (toți biții sunt 1, mai puțin ultimii 2 care sunt 0) | ||
print("Valoarea dupa setarea celor mai putin semnificativi 2 biti la 0: ", n) | print("Valoarea dupa setarea celor mai putin semnificativi 2 biti la 0: ", n) | ||
if __name__ == "__main__": | if __name__ == "__main__": | ||
n = input("Introduceti numarul: ") | |||
if validare(n): | |||
n = int(n) | |||
if validare(n): | |||
else: | print("Datele introduse corespund restricțiilor impuse.") | ||
removelast(n) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 19:32, 24 April 2023
Cerință
Se citește un număr n într-o variabilă de tip întreg pe 16 biți cu semn. Setați la valoarea 0 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
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." Programul va afișa pe ecran valoarea cerută. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări
- -32768 ⩽ n ⩽ 32768
Exemplul 1
- Intrare
- 5
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 4
Exemplul 2
- Intrare
- 42
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 40
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(n):
return n.isdigit() and -32768 <= int(n) <= 32767
def removelast(n):
# Setam cei mai putin semnificativi 2 biti la 0 n = n & ~0x3 # ~0x3 este echivalent cu 0xFFFC (toți biții sunt 1, mai puțin ultimii 2 care sunt 0)
print("Valoarea dupa setarea celor mai putin semnificativi 2 biti la 0: ", n)
if __name__ == "__main__":
n = input("Introduceti numarul: ")
if validare(n):
n = int(n)
print("Datele introduse corespund restricțiilor impuse.")
removelast(n)
else:
print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>