0056 - Numărare Perechi

From Bitnami MediaWiki

Sursa: [1]

Cerinţa

Se dă numărul natural nenul n. Să se determine produsul primelor n pătrate perfecte nenule.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul P , reprezentând produsul primelor n pătrate perfecte nenule, în caz contrar programul va afișa pe o linie noua mesajul "Datele introduse nu corespund cerintelor."

Restricţii şi precizări

  • 0 < n ⩽ 10

Exemplul 1

Intrare
4
Ieșire
Datele corespund cerințelor.
576


Exemplul 2

Intrare
16
Ieșire
Datele introduse nu corespund cerințelor.


Exemplul 3

Intrare
7
Ieșire
Datele corespund cerințelor.
25401600


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0056

def is_valid(number):

   return -1000000 < number < 1000000 or number == 0


def get_valid_input(prompt):

   """
   Returnează un număr valid introdus de utilizator.
   Prompt-ul este afișat la consolă.
   """
   num = int(input(prompt))
   while not is_valid(num):
       print("Valoarea citită nu este validă!")
       num = int(input(prompt))
   return num


def count_matching_digits():

   """
   Calculează numărul de cifre care se potrivesc în doi numere introduse de utilizator.
   """
   num1 = get_valid_input("Introduceți primul număr: ")
   num2 = get_valid_input("Introduceți al doilea număr: ")
   if num1 < 0:
       num1 = -num1
   if num2 < 0:
       num2 = -num2
   count = 0
   while num2:
       if num1 % 10 == num2 % 10:
           count += 1
       num1 = num2
       num2 = get_valid_input("Introduceți următorul număr: ")
       if num2 < 0:
           num2 = -num2
   print(f"Numărul de cifre care se potrivesc este: {count}")


def main():

   count_matching_digits()


main()

</syntaxhighlight>