📅  最后修改于: 2023-12-03 14:47:53.007000             🧑  作者: Mango
本编码练习题旨在考察程序员对于计算一个数的阶乘的能力。阶乘是数学中常见的概念,指的是一个正整数的所有小于等于它的正整数的乘积。
编写一个函数,接受一个正整数作为参数,并计算该正整数的阶乘。然后将计算结果返回。
def factorial(n: int) -> int:
pass
factorial(5) # 返回 120
factorial(1) # 返回 1
factorial(10) # 返回 3628800
factorial(0) # 返回 1
计算一个数的阶乘可以使用循环或递归的方式进行。这里我们使用循环的方法来计算阶乘。
result
并赋值为 1,用于保存阶乘的计算结果。result
相乘,并将结果赋值给 result
。result
就存储了 n 的阶乘结果。def factorial(n: int) -> int:
result = 1
for i in range(1, n + 1):
result *= i
return result
该函数的时间复杂度为 O(n),其中 n 是输入的正整数。因为我们需要执行一个循环来计算阶乘,循环的次数与输入的正整数 n 相关。
本题要求计算一个数的阶乘,可以使用循环的方式进行。通过遍历从 1 到 n 的每个数,并将其与计算结果相乘,最终得到阶乘结果。编写这样的函数有助于加强程序员对于循环和数学计算的理解和应用能力。