0534 - Factorial 1

From Bitnami MediaWiki
Revision as of 21:41, 28 March 2023 by Adina Timiș (talk | contribs) (Pagină nouă: ==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...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

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

  1. 0534 - Factorial 1

def factorial(n):

   if n == 0:
       return 1
   elif n < 0 or n > 1000 or not isinstance(n, int):
       print("Datele de intrare nu corespund restrictiilor impuse.")
       return None
   else:
       result = 1
       for i in range(1, n+1):
           result *= i
       return result        

def main():

   n = int(input("Introduceți n: "))
   if factorial(n) is not None:
       print("Datele de intrare corespund restricțiilor impuse.")
       print(factorial(n))        

if __name__ == "__main__":

   main()



</syntaxhighlight>