0453 - Distincte1

From Bitnami MediaWiki
Revision as of 19:22, 29 April 2023 by Tuca Liviu Razvan (talk | contribs) (Pagină nouă: ==Cerință== Se citesc de la tastatură '''trei numere naturale'''. Să se determine numărul de valori '''distincte'''. ==Date de intrare== Programul va citi de la tastatură '''trei numere naturale'''. ==Date de ieșire== Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran numărul de valori '''distincte''' care apar.În caz contrar, se va afișa pe ecran: "Datele de intrare nu...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință[edit | edit source]

Se citesc de la tastatură trei numere naturale. Să se determine numărul de valori distincte.

Date de intrare[edit | edit source]

Programul va citi de la tastatură trei numere naturale.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran numărul de valori distincte care apar.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit | edit source]

  • Numerele citite sunt cuprinse între 0 și 1.000.000.000, inclusiv.

Exemplul 1[edit | edit source]

Intrare
100 41 100
Ieșire
Datele de intrare corespund restricțiilor impuse.
2

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> def validare(numar1, numar2, numar3):

   if 0 <= numar1 <= 1000000000 and 0 <= numar2 <= 1000000000 and 0 <= numar3 <= 1000000000:
       return True
   return False


def distincte(numar1, numar2, numar3):

   if numar1 == numar2 == numar3:
       return 1
   elif numar1 == numar2 or numar1 == numar3 or numar2 == numar3:
       return 2
   else:
       return 3


if __name__ == "__main__":

   numar1, numar2, numar3 = map(int, input().split())
   if validare(numar1, numar2, numar3):
       print("Datele de intrare corespund restricțiilor impuse.")
       print(distincte(numar1, numar2, numar3))
   else:
       print(
           "Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>

Explicatie[edit | edit source]

Acest cod Python definește două funcții, validare și distincte, și le utilizează pentru a verifica dacă trei numere introduse la intrare sunt valide și distincte.

Funcția validare primește trei argumente, numar1, numar2, numar3, și verifică dacă fiecare dintre ele se încadrează în intervalul [0, 1000000000]. Dacă toate cele trei numere sunt valide, atunci funcția returnează True. În caz contrar, funcția returnează False.

Funcția distincte primește trei argumente, numar1, numar2, numar3, și verifică dacă cele trei numere sunt distincte. Dacă toate cele trei numere sunt egale, funcția returnează 1. Dacă două dintre cele trei numere sunt egale, funcția returnează 2. În caz contrar, funcția returnează 3.

În funcția principală (if __name__ == "__main__":), se citește input-ul de la utilizator și se verifică dacă acestea sunt valide, folosind funcția validare. Dacă acestea sunt valide, se afișează un mesaj de confirmare, "Datele de intrare corespund restricțiilor impuse.", și se afișează numărul de numere distincte folosind funcția distincte. În caz contrar, se afișează mesajul "Datele de intrare nu corespund restricțiilor impuse." pentru a indica faptul că datele introduse nu sunt valide.