2924 - FactorialInnEasy

From Bitnami MediaWiki
Revision as of 16:02, 19 April 2023 by Cata (talk | contribs) (Pagină nouă: ==Cerința== Se dă numărul natural n. Să se afișeze numărul de cifre a lui (n!)<sup>n</sup>. ==Date de intrare== Programul citește de la tastatură numărul natural n. ==Date de ieșire== Programul va afișa pe ecran numărul de cifre a lui (n!)<sup>n</sup>. ==Restricții și precizări== * n ≤ 106 ==Exemplu== Intrare 3 Ieșire 3 ==Explicație== (3!)<sup>3</sup>=216 ==Rezolvare== <syntaxhighlight lang="python"> def validate_input(n: str) -> int: try:...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Se dă numărul natural n. Să se afișeze numărul de cifre a lui (n!)n.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran numărul de cifre a lui (n!)n.

Restricții și precizări

  • n ≤ 106

Exemplu

Intrare

3

Ieșire

3

Explicație

(3!)3=216

Rezolvare

<syntaxhighlight lang="python"> def validate_input(n: str) -> int:

   try:
       n = int(n)
       if n < 1:
           raise ValueError("Input-ul trebuie să fie un număr întreg")
       return n
   except ValueError as e:
       print(f"Input invalid: {e}")

def compute_factorial_power(n: int) -> int:

   factorial = 1
   for i in range(2, n+1):
       factorial *= i
   return factorial ** n

def count_digits(number: int) -> int:

   return len(str(number))

def main():

   n = input("Introduceți un număr pozitiv: ")
   n = validate_input(n)
   if n:
       factorial_power = compute_factorial_power(n)
       digit_count = count_digits(factorial_power)
       print(f"Numărul de cifre din ({n}!)^{n} este {digit_count}")

if __name__ == "__main__":

   main()

</syntaxhighlight>