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