3957 - Countercase: Difference between revisions
Pagină nouă: == Cerință == Dându-se un număr natural n să se afle câte numere se pot obține folosind biții acestuia. Un număr natural x se obține folosind biții lui n dacă mulțimea biților setați ai lui x este inclusă în mulțimea biților setați ai lui n. De exemplu, pentru n = 5 reprezentarea binară este 101; x poate lua valorile 101, 100, 001, 000, adică 5, 4, 1, 0. == Date de intrare == Programul citește de la tastatură numărul n. == Date de ieșire == Programul... |
No edit summary |
||
Line 1: | Line 1: | ||
== Cerință == | == Cerință == | ||
Dându-se un număr natural n să se afle câte numere se pot obține folosind biții acestuia. | Dându-se un număr natural '''n''' să se afle câte numere se pot obține folosind biții acestuia.Un număr natural x se obține folosind biții lui '''n''' dacă mulțimea biților setați ai lui x este inclusă în mulțimea biților setați ai lui '''n'''. De exemplu, pentru n = 5 reprezentarea binară este 101; x poate lua valorile 101, 100, 001, 000, adică 5, 4, 1, 0. | ||
Un număr natural x se obține folosind biții lui n dacă mulțimea biților setați ai lui x este inclusă în mulțimea biților setați ai lui n. De exemplu, pentru n = 5 reprezentarea binară este 101; x poate lua valorile 101, 100, 001, 000, adică 5, 4, 1, 0. | |||
== Date de intrare == | == Date de intrare == | ||
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ă. | Programul va afișa pe ecran valoarea cerută. | ||
== Restricții de precizări == | == Restricții de precizări == | ||
*n are cel mult 500 de cifre | *'''n''' are cel mult 500 de cifre | ||
== Exemplul 1== | == Exemplul 1== | ||
; Intrare | ; Intrare | ||
Line 14: | Line 13: | ||
: Datele introduse corespund restricțiilor impuse. | : Datele introduse corespund restricțiilor impuse. | ||
: 4 | : 4 | ||
== Rezolvare ver. 1 == | |||
<syntaxhighlight lang="python" line="1" start="1"> | |||
def validare(n, numbers): | |||
return n.isdigit() and int(n) <= 500 | |||
def counterase(n): | |||
numar_posibil = 0 | |||
for x in range(n+1): | |||
if x & n == x: | |||
numar_posibil += 1 | |||
print("Numarul de numere posibile este:", numar_posibil) | |||
if __name__ == '__main__': | |||
n = int(input("Introduceti numarul n: ")) | |||
if validare(n): | |||
n = int(n) | |||
print("Datele introduse corespund restricțiilor impuse.") | |||
counterase(n) | |||
else: | |||
print("Datele introduse nu corespund restricțiilor impuse.") | |||
</syntaxhighlight> |
Revision as of 08:09, 21 March 2023
Cerință
Dându-se un număr natural n să se afle câte numere se pot obține folosind biții acestuia.Un număr natural x se obține folosind biții lui n dacă mulțimea biților setați ai lui x este inclusă în mulțimea biților setați ai lui n. De exemplu, pentru n = 5 reprezentarea binară este 101; x poate lua valorile 101, 100, 001, 000, adică 5, 4, 1, 0.
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
- n are cel mult 500 de cifre
Exemplul 1
- Intrare
- 5
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 4
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(n, numbers):
return n.isdigit() and int(n) <= 500
def counterase(n):
numar_posibil = 0
for x in range(n+1): if x & n == x: numar_posibil += 1
print("Numarul de numere posibile este:", numar_posibil)
if __name__ == '__main__':
n = int(input("Introduceti numarul n: "))
if validare(n):
n = int(n) print("Datele introduse corespund restricțiilor impuse.") counterase(n)
else:
print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>