3933 - Zero Unu

From Bitnami MediaWiki
Revision as of 13:27, 2 April 2023 by Petras.du.ioana (talk | contribs) (Am creat de la zero.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se dă un număr natural n. Să se verifice dacă n 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 n.

Date de ieşire

Programul va afișa pe ecran mesajul da dacă n 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 ≤ n ≤ 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>

  1. Citim numarul de la utilizator

n = int(input("Introduceti un numar natural: "))

  1. Verificam daca numarul este un numar natural si contine doar cifre

if n < 0 or not str(n).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 lui n, verificand daca exista cifrele 0 si 1 si nicio alta cifra
   while n > 0:
       digit = n % 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
       n //= 10  # eliminam ultima cifra din n
   # Verificam daca n indeplineste conditiile cerute
   if has_zero and has_one and n == 0:
       print("Numarul indeplineste conditiile date.")
   else:
       print("Numarul nu indeplineste conditiile date.")

</syntaxhighlight>