4272 - Prod Pare: Difference between revisions
Dragos1234 (talk | contribs) Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/4272/prodpare] == Cerinţa == Se dă numărul natural nenul '''n'''. Să se determine produsul primelor n numere pare nenule. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de iesire == Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", iar pe rând nou se va afisa produsul rezultat din inmultirea primelor '''n''' numere pare. În caz contrar, se va afișa pe e... |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
Programul citește de la tastatură numărul '''n'''. | Programul citește de la tastatură numărul '''n'''. | ||
== Date de iesire == | == Date de iesire == | ||
Dacă datele sunt introduse corect, | Dacă datele sunt introduse corect, în consolă se va afișa mesajul "Datele introduse corespund cerintelor." și pe rând nou se va afișa produsul rezultat din inmultirea primelor '''n''' numere pare. În caz contrar, se va afișa pe ecran: "Datele introduse nu corespund cerintelor.". | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
Line 15: | Line 15: | ||
: 4 | : 4 | ||
; Ieșire | ; Ieșire | ||
: Datele introduse corespund cerintelor. | |||
: 384 | : 384 | ||
=== Exemplul 2 === | === Exemplul 2 === | ||
; Intrare | ; Intrare | ||
: 11 | : 11 | ||
; Ieșire | ; Ieșire | ||
: Datele nu corespund | : Datele introduse nu corespund cerintelor. | ||
=== Rezolvare === | === Rezolvare === | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
Line 27: | Line 30: | ||
def produs_numere_pare(n): | def produs_numere_pare(n): | ||
produs = 1 | produs = 1 | ||
for i in range(2, 2 * n + 1, 2): | for i in range(2, 2 * n + 1, 2): | ||
Line 37: | Line 35: | ||
print(produs) | print(produs) | ||
def validare_numar(n): | |||
if n < 1 or n > 10: | |||
print("Datele introduse nu corespund cerintelor.") | |||
return False | |||
return True | |||
if __name__ == "__main__": | if __name__ == "__main__": | ||
numar = int(input()) | numar = int(input("Introduceți un număr: ")) | ||
produs_numere_pare(numar) | if validare_numar(numar): | ||
print("Datele introduse corespund cerintelor.") | |||
produs_numere_pare(numar) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Explicatie rezolvare == | |||
Acest program calculează produsul numerelor pare de la 2 la 2n, unde n este un număr întreg introdus de utilizator. | |||
Funcția validare_numar(n) verifică dacă numărul introdus de utilizator respectă cerințele, adică să fie între 1 și 10 inclusiv. Dacă numărul nu respectă aceste cerințe, funcția va afișa un mesaj de eroare și va returna False. Dacă numărul este valid, funcția va returna True. | |||
Funcția produs_numere_pare(n) calculează produsul numerelor pare de la 2 la 2n, prin intermediul unui ciclu for. Ciclul pornește de la 2 și se oprește la 2n inclusiv, în pași de 2. La fiecare iterație, valoarea curentă a produsului este înmulțită cu valoarea curentă a variabilei i. | |||
În if __name__ == "__main__": se verifică dacă programul rulează ca script (adică nu a fost importat ca modul). Utilizatorul este invitat să introducă un număr întreg. Dacă numărul respectă cerințele, se afișează un mesaj de confirmare și se calculează produsul numerelor pare de la 2 la 2n prin apelul funcției produs_numere_pare(n). |
Latest revision as of 17:56, 14 May 2023
Sursa: [1]
Cerinţa[edit | edit source]
Se dă numărul natural nenul n. Să se determine produsul primelor n numere pare nenule.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n.
Date de iesire[edit | edit source]
Dacă datele sunt introduse corect, în consolă se va afișa mesajul "Datele introduse corespund cerintelor." și pe rând nou se va afișa produsul rezultat din inmultirea primelor n numere pare. În caz contrar, se va afișa pe ecran: "Datele introduse nu corespund cerintelor.".
Restricţii şi precizări[edit | edit source]
- 1 ⩽ n ⩽ 10
Exemplu[edit | edit source]
Exemplul 1[edit | edit source]
- Intrare
- 4
- Ieșire
- Datele introduse corespund cerintelor.
- 384
Exemplul 2[edit | edit source]
- Intrare
- 11
- Ieșire
- Datele introduse nu corespund cerintelor.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
- 4272
def produs_numere_pare(n):
produs = 1
for i in range(2, 2 * n + 1, 2): produs *= i
print(produs)
def validare_numar(n):
if n < 1 or n > 10: print("Datele introduse nu corespund cerintelor.") return False return True
if __name__ == "__main__":
numar = int(input("Introduceți un număr: ")) if validare_numar(numar): print("Datele introduse corespund cerintelor.") produs_numere_pare(numar)
</syntaxhighlight>
Explicatie rezolvare[edit | edit source]
Acest program calculează produsul numerelor pare de la 2 la 2n, unde n este un număr întreg introdus de utilizator.
Funcția validare_numar(n) verifică dacă numărul introdus de utilizator respectă cerințele, adică să fie între 1 și 10 inclusiv. Dacă numărul nu respectă aceste cerințe, funcția va afișa un mesaj de eroare și va returna False. Dacă numărul este valid, funcția va returna True.
Funcția produs_numere_pare(n) calculează produsul numerelor pare de la 2 la 2n, prin intermediul unui ciclu for. Ciclul pornește de la 2 și se oprește la 2n inclusiv, în pași de 2. La fiecare iterație, valoarea curentă a produsului este înmulțită cu valoarea curentă a variabilei i.
În if __name__ == "__main__": se verifică dacă programul rulează ca script (adică nu a fost importat ca modul). Utilizatorul este invitat să introducă un număr întreg. Dacă numărul respectă cerințele, se afișează un mesaj de confirmare și se calculează produsul numerelor pare de la 2 la 2n prin apelul funcției produs_numere_pare(n).