3622 - Perechi Pare
Sursa: [1]
Cerinţa
Se dă un interval [l,r]. Aflaţi câte perechi de numere pare se pot forma alegând două numere din interval.
Date de intrare
Programul citește de la tastatură numerele l şi r.
Date de ieșire
Dacă datele introduse sunt corecte și respectă formatul așteptat, programul va afișa în continuare, pe un rând nou, perechile de numere pare care se pot forma alegând două numere din interval și mesajul "Datele introduse corespund cerințelor".
În cazul în care datele de intrare nu respectă restricțiile impuse programul va afișa pe ecran mesajul "Datele nu corespund restricțiilor impuse." și nu va continua cu restul execuției programului.
Restricţii şi precizări
- 1 ⩽ l ⩽ r ⩽ 1.000.000
Exemplul 1
- Intrare
- Introdu l: 5
- Introdu r: 10
- Ieșire
- Datele introduse corespund cerintelor.
- 9
Exemplul 2
- Intrare
- Introdu l: 5
- Introdu r: 1000000000000000000000000000000
- Ieșire
- Datele introduse nu corespund cerintelor.
Rezolvare
<syntaxhighlight lang="python" line>
- 3622
def validate_input(l, r):
if not (1 <= l <= r <= 1000000): print("Datele introduse nu corespund cerintelor.") exit()
def numarare_numere_pare(l, r):
validate_input(l, r) contor = 0 for i in range(l, r+1): if i % 2 == 0: contor += 1 return contor
if __name__ == '__main__':
l = int(input("Introdu l: ")) r = int(input("Introdu r: "))
contor = numarare_numere_pare(l, r) print(f"Datele introduse corespund cerintelor.\n{contor * contor}")
</syntaxhighlight>
Explicatie rezolvare
Acest program numara numerele pare dintre doua numere l si r date de utilizator si afiseaza patratul numarului de numere pare gasite.
Mai intai, functia `validate_input` verifica daca cele doua numere introduse sunt intre 1 si 1000000 si afiseaza un mesaj de eroare si opreste programul daca acestea nu sunt indeplinite. Aceasta functie este apelata in functia `numarare_numere_pare` pentru a asigura ca datele introduse sunt valide.
Functia `numarare_numere_pare` utilizeaza un contor pentru a numara numerele pare intre l si r, inclusiv. Daca un numar este divizibil cu 2, se incrementeaza contorul cu 1. La sfarsit, functia returneaza valoarea contorului.
In programul principal, utilizatorul este intrebat sa introduca valorile l si r. Apoi, functia `numarare_numere_pare` este apelata si rezultatul este afisat, alaturi de un mesaj care confirma ca datele introduse sunt valide.