0534 - Factorial 1
De la Universitas MediaWiki
Cerința
Să se scrie un program care citește numărul natural n și determină valoarea lui n! = 1 * 2 * 3 * ... * n.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul afișează pe prima linie a ecranului valoarea lui n!.
Restricții și precizări
- 0 ≤ n ≤ 1000;
- prin definiție, 0! = 1;
Exemplul 1
- Intrare
- 4
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- 24
Exemplul 2
- Intrare
- 1001
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
#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