3622 - Perechi Pare: Diferență între versiuni

De la Universitas MediaWiki
Linia 7: Linia 7:


== Date de ieșire ==  
== Date de ieșire ==  
Programul va afișa pe ecran numărul perechilor de numere pare care se pot forma alegând două numere din interval. În cazul in care '''l''' și '''r''' nu sunt între '''1''' și '''1.000.000''' programul va afișa un mesaj de eroare.
Dacă datele introduse sunt corecte și respectă formatul așteptat, programul va afișa în continuare, pe un rând nou, elementele vectorului y, separate prin exact un spațiu.
 
În cazul în care datele din fișierul de intrare nu respectă restricțiile impuse (de exemplu, nu este un număr întreg), 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 ==
== Restricţii şi precizări ==

Versiunea de la data 2 aprilie 2023 19:21

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, elementele vectorului y, separate prin exact un spațiu.

În cazul în care datele din fișierul de intrare nu respectă restricțiile impuse (de exemplu, nu este un număr întreg), 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 ⩽ lr ⩽ 1.000.000

Exemplul 1

Intrare
Introdu l: 5
Introdu r: 10
Ieșire
Numărul de numere pare din intervalul dat ridicat la pătrat este: 9


Exemplul 2

Intrare
Introdu l: 5
Introdu r: 1000000000000000000000000000000
Ieșire
l și r trebuie să fie între 1 și 1,000,000 și l trebuie să fie mai mic sau egal cu r.


Rezolvare

#3622
def validate_input(l, r):
    if not (1 <= l <= r <= 1000000):
        print("l și r trebuie să fie între 1 și 1,000,000 și l trebuie să fie mai mic sau egal cu r.")
        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("Numărul de numere pare din intervalul dat ridicat la pătrat este: ", contor * contor)

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.