3622 - Perechi Pare: Difference between revisions
Dragos1234 (talk | contribs) |
Dragos1234 (talk | contribs) |
||
Line 54: | Line 54: | ||
contor = numarare_numere_pare(l, r) | contor = numarare_numere_pare(l, r) | ||
print(f"Datele introduse corespund cerintelor. {contor * contor}") | print(f"Datele introduse corespund cerintelor.\n{contor * contor}") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 17:25, 26 April 2023
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 din fișierul 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 primește două numere întregi, l și r, reprezentând limitele inferioară și superioară ale unui interval, respectiv. Programul validează intrările și verifică dacă intervalul specificat este între 1 și 1.000.000 și dacă l este mai mic sau egal cu r.
Apoi, programul numără numerele pare din intervalul specificat prin parcurgerea intervalului cu o buclă for și verificarea dacă fiecare număr este divizibil cu 2, crescând un contor pentru fiecare număr par găsit. În cele din urmă, programul afișează pătratul numărului de numere pare găsite prin înmulțirea contorului cu el însuși și afișarea rezultatului.