1411 - Numere 13

From Bitnami MediaWiki

Cerinţa

Se citesc perechi de numere naturale până la citirea a două valori nule. Să se determine câte dintre perechi încep cu aceeași cifră.

Date de intrare

Programul citește de la tastatură perechi de numere naturale. Citirea se încheie la introducerea a două valori nule.

Date de ieşire

Programul va afișa pe ecran valoarea cerută.

Restricții și precizări

  • se vor citi cel mult 1000 de perechi de numere;
  • ultima pereche citită nu se va lua în considerare;
  • toate numerele citite vor fi mai mici decât 1.000.000;
  • toate numerele citite sunt nenule, cu excepția ultimelor două;

Exemplu

Intrare
329 39780
9686 6659
6121 846
7938 73173
5352 5129
7243 3765
3750 3779
0 0
Ieșire
4

Explicație

Perechile care respecta regula sunt:

329 39780
7938 73173
5352 5129
3750 3779

Rezolvare

<syntaxhighlight lang="python" line>


  1. Inițializăm numărul de perechi la 0

nr_perechi = 0

while True:

   # Citim două numere întregi de la tastatură
   primul_numar = input("Introduceti primul numar: ")
   al_doilea_numar = input("Introduceti al doilea numar: ")
   # Verificăm dacă cele două numere sunt valide
   try:
       primul_numar = int(primul_numar)
       al_doilea_numar = int(al_doilea_numar)
       if primul_numar != 0 and al_doilea_numar != 0:
           # Verificăm dacă cele două numere sunt negative
           if len(str(primul_numar)) > 1 and str(primul_numar)[0] == "-":
               print("Valorile introduse nu sunt valide. Introduceti doua numere pozitive diferite de 0.")
           elif len(str(al_doilea_numar)) > 1 and str(al_doilea_numar)[0] == "-":
               print("Valorile introduse nu sunt valide. Introduceti doua numere pozitive diferite de 0.")
           else:
               # Obținem prima cifră a primului număr
               prima_cifra_primul_numar = str(primul_numar)[0]
               # Obținem prima cifră a celui de-al doilea număr
               prima_cifra_al_doilea_numar = str(al_doilea_numar)[0]
               # Verificăm dacă cele două numere încep cu aceeași cifră
               if prima_cifra_primul_numar == prima_cifra_al_doilea_numar:
                   nr_perechi += 1
                   print("Cele doua numere incep cu aceeasi cifra.")
       else:
           print("Valorile introduse nu sunt valide. Introduceti doua numere pozitive diferite de 0.")
   except ValueError:
       print("Valorile introduse nu sunt valide. Introduceti doua numere pozitive diferite de 0.")
   # Verificăm dacă cele două numere introduse sunt egale cu 0
   if primul_numar == 0 and al_doilea_numar == 0:
       break

print("Datele sunt introduse corect.") print(f"Numarul total de perechi care incep cu aceeasi cifra este: {nr_perechi}")

</syntaxhighlight>