0534 - Factorial 1
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">
- 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>