0049 - Factorial: Diferență între versiuni

De la Universitas MediaWiki
Fără descriere a modificării
Linia 53: Linia 53:


== Explicatie rezolvare ==
== Explicatie rezolvare ==
Acest program calculează factorialul unui număr dat de utilizator prin intermediul funcției "functie_factorial(n)". În primul rând, programul importă modulul "math" pentru a putea utiliza funcția "factorial()" pentru a calcula factorialul numărului dat. Funcția "functie_factorial(n)" primește un argument "n" și verifică dacă acesta este mai mic decât 0 sau mai mare decât 15. În caz afirmativ, se afișează un mesaj de eroare. Dacă numărul este 0, se afișează un mesaj de confirmare că datele introduse sunt valabile, iar factorialul este afișat ca fiind 1. Dacă numărul este mai mare decât 0 și mai mic sau egal cu 15, se afișează un mesaj de confirmare că datele introduse sunt valabile, iar factorialul este calculat și afișat utilizând funcția "math.factorial(n)". În programul principal, utilizatorul este întâi rugat să introducă un număr, care este apoi transmis funcției "functie_factorial(n)" pentru a fi calculat factorialul.
Acest program calculează factorialul unui număr dat de utilizator prin intermediul funcției "functie_factorial(n)". În primul rând, programul importă modulul "math" pentru a putea utiliza funcția "factorial()" pentru a calcula factorialul numărului dat.  
 
Funcția "functie_factorial(n)" primește un argument "n" și verifică dacă acesta este mai mic decât 0 sau mai mare decât 15. În caz afirmativ, se afișează un mesaj de eroare. Dacă numărul este 0, se afișează un mesaj de confirmare că datele introduse sunt valabile, iar factorialul este afișat ca fiind 1. Dacă numărul este mai mare decât 0 și mai mic sau egal cu 15, se afișează un mesaj de confirmare că datele introduse sunt valabile, iar factorialul este calculat și afișat utilizând funcția "math.factorial(n)".  
 
În programul principal, utilizatorul este întâi rugat să introducă un număr, care este apoi transmis funcției "functie_factorial(n)" pentru a fi calculat factorialul.

Versiunea de la data 9 aprilie 2023 17:55

Sursa: [1]

Cerinţa

Să se scrie un program care citește numărul natural n și determină valoarea lui n!.

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 rezultatul lui n!. În caz contrar, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".

Restricţii şi precizări

  • 0 ⩽ n ⩽ 15
  • prin definiție, 0! = 1

Exemplu

Exemplul 1

Intrare
4
Ieșire
24

Exemplul 2

Intrare
0
Ieșire
1

Exemplul 3

Intrare
16
Ieșire
Datele nu corespund restricțiilor impuse.

Rezolvare

#0049
import math
def functie_factorial(n):
    if(n < 0 or n > 15):
        print("Datele introduse nu corespund cerintelor.")

    elif(n == 0):
        print("Datele introduse corespund cerintelor.")
        print(1)

    else:
        print("Datele introduse corespund cerintelor.")
        print(math.factorial(n))


if __name__ == "__main__":
    numar = int(input())
    functie_factorial(numar)

Explicatie rezolvare

Acest program calculează factorialul unui număr dat de utilizator prin intermediul funcției "functie_factorial(n)". În primul rând, programul importă modulul "math" pentru a putea utiliza funcția "factorial()" pentru a calcula factorialul numărului dat.

Funcția "functie_factorial(n)" primește un argument "n" și verifică dacă acesta este mai mic decât 0 sau mai mare decât 15. În caz afirmativ, se afișează un mesaj de eroare. Dacă numărul este 0, se afișează un mesaj de confirmare că datele introduse sunt valabile, iar factorialul este afișat ca fiind 1. Dacă numărul este mai mare decât 0 și mai mic sau egal cu 15, se afișează un mesaj de confirmare că datele introduse sunt valabile, iar factorialul este calculat și afișat utilizând funcția "math.factorial(n)".

În programul principal, utilizatorul este întâi rugat să introducă un număr, care este apoi transmis funcției "functie_factorial(n)" pentru a fi calculat factorialul.