0534 - Factorial 1: Difference between revisions

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


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






</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 11:13, 21 May 2023

Cerința[edit]

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]

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

Date de ieșire[edit]

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

Restricții și precizări[edit]

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

Exemplul 1[edit]

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

Exemplul 2[edit]

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

Rezolvare[edit]

<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>