0534 - Factorial 1

From Bitnami MediaWiki

Cerința[edit | edit source]

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

Date de intrare[edit | edit source]

Programul citește de la tastatură numărul n.

Date de ieșire[edit | edit source]

Programul afișează pe prima linie a ecranului valoarea lui n!.

Restricții și precizări[edit | edit source]

  • 0 ≤ n ≤ 1000;
  • prin definiție, 0! = 1;

Exemplul 1[edit | edit source]

Intrare
4
Ieșire
Datele de intrare corespund restricțiilor impuse.
24

Exemplul 2[edit | edit source]

Intrare
1001
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line="1">

  1. 0534 - Factorial 1

def factorial(n):

   if n == 0:
       return 1  # factorialul lui 0 este 1
   elif n < 0 or n > 1000 or not isinstance(n, int):
       print("Datele de intrare nu corespund restricțiilor impuse.")  # verificarea restricțiilor
       return None
   else:
       result = 1  # inițializăm rezultatul cu 1
       for i in range(1, n+1):  # parcurgem valorile de la 1 la n 
           result *= i  # calculăm produsul
       return result


if __name__ == "__main__":

   n = int(input("Introduceți n: "))
   if factorial(n) is not None:
       print("Datele de intrare corespund restricțiilor impuse.")  # verificăm dacă rezultatul factorialului există
       print(factorial(n))  # afișăm rezultatul


</syntaxhighlight>