4272 - Prod Pare: Difference between revisions

From Bitnami MediaWiki
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, 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 ecran: "Datele nu corespund restricțiilor impuse.".
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 restricțiilor impuse.
: 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
    if (n < 1 or n > 10):
        print("Datele introduse nu corespund cerintelor.")
        return 0


     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>

  1. 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).