"""
This program computes the factorial of numbers greater than 20.
Python's built‑in integer type automatically expands to arbitrary size,
making it ideal for very large factorials.
"""
import math
def factorial_big(n: int) -> int:
"""
Compute factorial using Python's built‑in math.factorial,
which is highly optimized in C and handles very large integers.
"""
return math.factorial(n)
def factorial_manual(n: int) -> int:
"""
Manual factorial implementation using iterative multiplication.
Demonstrates how Python naturally handles huge integers.
"""
result = 1
for i in range(2, n + 1):
result *= i
return result
def main() -> None:
"""
Main entry point: read input, compute factorial, print result.
"""
n = int(input("Enter a number greater than 20: "))
# Use the optimized built‑in version
result = factorial_big(n)
print(f"\nFactorial of {n} is:\n")
print(result)
if __name__ == "__main__":
main()
"""
run:
Enter a number greater than 20: 25
Factorial of 25 is:
15511210043330985984000000
"""