10的阶乘(10!)在Python中可以通过循环或递归实现,结果为3628800。 以下是两种常见实现方式及其优化思路:
-
循环计算
使用for
循环累乘是最直观的方法:result = 1 for i in range(1, 11): result *= i print(result) # 输出3628800
这种方法效率高,适合大数计算。
-
递归实现
递归通过函数自我调用实现,代码简洁但效率较低:def factorial(n): return 1 if n == 0 else n * factorial(n-1) print(factorial(10)) # 输出3628800
注意递归深度限制,超大数据可能引发栈溢出。
-
内置库优化
Python的math
库提供现成阶乘函数,适合实际开发:import math print(math.factorial(10)) # 直接调用
推荐优先使用库函数,兼顾性能和可读性。
总结:根据场景选择实现方式——循环适合教学理解,递归体现算法思想,而math.factorial()
则是生产环境的**实践。