3933 - Zero Unu: Difference between revisions
Am creat de la zero. |
mNo edit summary |
||
Line 1: | Line 1: | ||
== Cerinţa == | == Cerinţa == | ||
Se dă un număr natural | Se dă un număr natural. Să se verifice dacă numărul conține cel puțin o cifră de 1, cel puțin o cifră 0 și nu conține alte cifre. | ||
== Date de intrare == | == Date de intrare == | ||
Programul citește de la tastatură numărul | Programul citește de la tastatură numărul. | ||
== Date de ieşire == | == Date de ieşire == | ||
Programul va afișa pe ecran mesajul da dacă | Programul va afișa pe ecran mesajul da dacă numar conține numai cifre de 0 și 1 (cel puțin una din fiecare), sau nu în caz contrar. | ||
== Restricții și precizări == | == Restricții și precizări == | ||
* 0 ≤ | * 0 ≤ numar ≤ 2.000.000.000 | ||
== Exemplu 1 == | == Exemplu 1 == | ||
; Intrare | ; Intrare | ||
Line 12: | Line 16: | ||
; Ieșire | ; Ieșire | ||
: da | : da | ||
== Exemplu 2 == | == Exemplu 2 == | ||
; Intrare | ; Intrare | ||
Line 17: | Line 22: | ||
; Ieșire | ; Ieșire | ||
: nu | : nu | ||
== Exemplu 3 == | == Exemplu 3 == | ||
; Intrare | ; Intrare | ||
Line 22: | Line 28: | ||
; Ieșire | ; Ieșire | ||
: nu | : nu | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# Citim numarul de la utilizator | # Citim numarul de la utilizator | ||
numar = int(input("Introduceti un numar natural: ")) | |||
# Verificam daca numarul este un numar natural si contine doar cifre | # Verificam daca numarul este un numar natural si contine doar cifre | ||
if | if numar < 0 or not str(numar).isdigit(): | ||
print("Numarul introdus nu este valid.") | print("Numarul introdus nu este valid.") | ||
else: | else: | ||
Line 35: | Line 43: | ||
has_one = False | has_one = False | ||
# Parcurgem cifrele | # Parcurgem cifrele numarului, verificand daca exista cifrele 0 si 1 si nicio alta cifra | ||
while | while numar > 0: | ||
digit = | digit = numar % 10 # extragem cifra curenta | ||
if digit == 0: | if digit == 0: | ||
has_zero = True | has_zero = True | ||
Line 45: | Line 53: | ||
# Daca cifra curenta nu este 0 sau 1, nu mai e necesar sa verificam restul cifrelor | # Daca cifra curenta nu este 0 sau 1, nu mai e necesar sa verificam restul cifrelor | ||
break | break | ||
numar //= 10 # eliminam ultima cifra din n | |||
# Verificam daca | # Verificam daca numar indeplineste conditiile cerute | ||
if has_zero and has_one and | if has_zero and has_one and numar == 0: | ||
print("Numarul indeplineste conditiile date.") | print("Numarul indeplineste conditiile date.") | ||
else: | else: |
Revision as of 14:45, 2 April 2023
Cerinţa
Se dă un număr natural. Să se verifice dacă numărul conține cel puțin o cifră de 1, cel puțin o cifră 0 și nu conține alte cifre.
Date de intrare
Programul citește de la tastatură numărul.
Date de ieşire
Programul va afișa pe ecran mesajul da dacă numar conține numai cifre de 0 și 1 (cel puțin una din fiecare), sau nu în caz contrar.
Restricții și precizări
- 0 ≤ numar ≤ 2.000.000.000
Exemplu 1
- Intrare
- 11011
- Ieșire
- da
Exemplu 2
- Intrare
- 161011
- Ieșire
- nu
Exemplu 3
- Intrare
- 111
- Ieșire
- nu
Rezolvare
<syntaxhighlight lang="python" line>
- Citim numarul de la utilizator
numar = int(input("Introduceti un numar natural: "))
- Verificam daca numarul este un numar natural si contine doar cifre
if numar < 0 or not str(numar).isdigit():
print("Numarul introdus nu este valid.")
else:
# Inițializăm două variabile pentru a verifica dacă n conține cifrele 0 și 1 has_zero = False has_one = False
# Parcurgem cifrele numarului, verificand daca exista cifrele 0 si 1 si nicio alta cifra while numar > 0: digit = numar % 10 # extragem cifra curenta if digit == 0: has_zero = True elif digit == 1: has_one = True else: # Daca cifra curenta nu este 0 sau 1, nu mai e necesar sa verificam restul cifrelor break numar //= 10 # eliminam ultima cifra din n
# Verificam daca numar indeplineste conditiile cerute if has_zero and has_one and numar == 0: print("Numarul indeplineste conditiile date.") else: print("Numarul nu indeplineste conditiile date.")
</syntaxhighlight>