3976 - Prod Impare: Diferență între versiuni
Etichete: Anulare manuală Editare vizuală |
|||
(Nu s-au afișat 9 versiuni intermediare efectuate de alți 2 utilizatori) | |||
Linia 5: | Linia 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 == | ||
Programul va afișa pe ecran, pe o linie nouă numărul '''P''' | Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul '''P''' reprezentând produsul primelor '''n''' numere impare, în caz contrar programul va afișa pe o linie nouă "Datele introduse nu corespund cerințelor". | ||
== Restricţii şi precizări == | == Restricţii şi precizări == | ||
Linia 14: | Linia 14: | ||
: 4 | : 4 | ||
; Ieșire | ; Ieșire | ||
: Datele introduse corespund cerințelor. | |||
: 105 | : 105 | ||
=== Exemplul 2 === | === Exemplul 2 === | ||
; Intrare | ; Intrare | ||
Linia 24: | Linia 26: | ||
: 7 | : 7 | ||
; Ieșire | ; Ieșire | ||
: Datele introduse corespund | : Datele introduse corespund cerințelor. | ||
: 135135 | : 135135 | ||
Linia 52: | Linia 54: | ||
produs *= i | produs *= i | ||
return produs | return produs | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
n = validare_numar_intreg_pozitiv("Introduceti un numar natural nenul: ") | n = validare_numar_intreg_pozitiv("Introduceti un numar natural nenul: ") | ||
produs = produs_primelor_n_numere_impare(n) | produs = produs_primelor_n_numere_impare(n) | ||
print("Datele introduse corespund cerintelor.") | print("Datele introduse corespund cerintelor.\n",produs) | ||
</syntaxhighlight> | |||
== Explicatie rezolvare == | |||
Acest program calculează produsul primelor n numere impare, unde n este un număr natural dat de utilizator. Funcția "validare_numar_intreg_pozitiv(mesaj)" primește un argument "mesaj" care este afișat pentru a îndruma utilizatorul să introducă un număr natural nenul. În cadrul acestei funcții, programul verifică dacă numărul introdus este mai mic sau egal cu 0 sau mai mare decât 15, afișând un mesaj de eroare în caz contrar. Dacă numărul este un număr natural între 1 și 15, acesta este returnat și funcția se termină. În caz contrar, utilizatorul este rugat să introducă un alt număr. | |||
Funcția "produs_primelor_n_numere_impare(n)" primește un argument "n" și calculează produsul primelor n numere impare. Produsul este inițializat cu 1 și apoi, folosind un ciclu for, se calculează produsul valorilor impare din intervalul [1, 2n], adică valorile 1, 3, 5, ..., 2n-1. | |||
În programul principal, utilizatorul este întâi rugat să introducă un număr natural nenul, care este verificat pentru a se asigura că corespunde cerințelor prin intermediul funcției "validare_numar_intreg_pozitiv(mesaj)". Dacă numărul este valid, programul calculează produsul și îl afișează împreună cu un mesaj de confirmare că datele introduse sunt valabile. |
Versiunea curentă din 14 mai 2023 17:52
Sursa: [1]
Cerinţa
Se dă numărul natural nenul n. Să se determine produsul primelor n numere impare.
Date de intrare
Programul citește de la tastatură numărul n.
Date de iesire
Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul P reprezentând produsul primelor n numere impare, în caz contrar programul va afișa pe o linie nouă "Datele introduse nu corespund cerințelor".
Restricţii şi precizări
- 1 ⩽ n ⩽ 15
Exemplu
Exemplul 1
- Intrare
- 4
- Ieșire
- Datele introduse corespund cerințelor.
- 105
Exemplul 2
- Intrare
- 0
- Ieșire
- Datele introduse nu corespund cerințelor.
Exemplul 3
- Intrare
- 7
- Ieșire
- Datele introduse corespund cerințelor.
- 135135
Rezolvare
#3976
def validare_numar_intreg_pozitiv(mesaj):
while True:
try:
numar = int(input(mesaj))
if numar <= 0:
print("Datele introduse nu corespund cerintelor.")
elif numar > 15:
print("Datele introduse nu corespund cerintelor.")
else:
return numar
except ValueError:
print("Introduceti un numar intreg pozitiv.")
def produs_primelor_n_numere_impare(n):
produs = 1
for i in range(1, 2*n, 2):
produs *= i
return produs
if __name__ == '__main__':
n = validare_numar_intreg_pozitiv("Introduceti un numar natural nenul: ")
produs = produs_primelor_n_numere_impare(n)
print("Datele introduse corespund cerintelor.\n",produs)
Explicatie rezolvare
Acest program calculează produsul primelor n numere impare, unde n este un număr natural dat de utilizator. Funcția "validare_numar_intreg_pozitiv(mesaj)" primește un argument "mesaj" care este afișat pentru a îndruma utilizatorul să introducă un număr natural nenul. În cadrul acestei funcții, programul verifică dacă numărul introdus este mai mic sau egal cu 0 sau mai mare decât 15, afișând un mesaj de eroare în caz contrar. Dacă numărul este un număr natural între 1 și 15, acesta este returnat și funcția se termină. În caz contrar, utilizatorul este rugat să introducă un alt număr.
Funcția "produs_primelor_n_numere_impare(n)" primește un argument "n" și calculează produsul primelor n numere impare. Produsul este inițializat cu 1 și apoi, folosind un ciclu for, se calculează produsul valorilor impare din intervalul [1, 2n], adică valorile 1, 3, 5, ..., 2n-1.
În programul principal, utilizatorul este întâi rugat să introducă un număr natural nenul, care este verificat pentru a se asigura că corespunde cerințelor prin intermediul funcției "validare_numar_intreg_pozitiv(mesaj)". Dacă numărul este valid, programul calculează produsul și îl afișează împreună cu un mesaj de confirmare că datele introduse sunt valabile.