2214 - Cifre 001

From Bitnami MediaWiki
Revision as of 16:20, 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 dau două numere naturale. Dacă cele două numere au acelaşi număr de cifre, să se afle pe câte poziţii aceste cifre coincid.

Date de intrare

Programul citește de la tastatură cele două numere naturale, separate prin spații.

Date de ieşire

Programul va afișa pe ecran NU dacă cele două numere nu au acelaşi număr de cifre, respectiv DA dacă au acelaşi număr de cifre. În caz afirmativ se va afişa pe rândul următor numărul poziţiilor în care cifrele celor două numere coincid.

Restricții și precizări

  • cele două numere citite vor fi mai mici decât 2.000.000.000

Exemplu 1

Intrare
2345 17825
Ieșire
NU

Exemplu 2

Intrare
102789 307786
Ieșire
DA
 3

Rezolvare

<syntaxhighlight lang="python" line>


while True:

   try:
       numar1 = int(input("Introduceți primul număr: "))
       numar2 = int(input("Introduceți al doilea număr: "))
       if numar1 <= 0 or numar2 <= 0:
           raise ValueError("Introduceți numere naturale pozitive.")
       break
   except ValueError as e:
       print(f"Eroare: {e}")
  1. determinam numarul de cifre al celor doua numere

nr_cifre1 = len(str(numar1)) nr_cifre2 = len(str(numar2))

if nr_cifre1 != nr_cifre2:

   print("Cele două numere nu au același număr de cifre.")

else:

   # transformam cele doua numere in liste de cifre
   cifre1 = [int(x) for x in str(numar1)]
   cifre2 = [int(x) for x in str(numar2)]
   nr_coincidente = 0
   for i in range(nr_cifre1):
       if cifre1[i] == cifre2[i]:
           nr_coincidente += 1
   print(f"Numerele au {nr_coincidente} cifre care coincid pe aceeași poziție.")

</syntaxhighlight>