C++程序 查找一个数的阶乘
非负整数的阶乘是小于或等于n的所有整数的乘积。例如,6的阶乘是65432*1,即720。
递归解法:
阶乘可以使用以下递归公式来计算。
下面是计算阶乘的实现。
输出:
时间复杂度: O(n),其中n是字符串的长度。
辅助空间: O(n)
迭代解法:
由于递归可能对大数比较昂贵,因此阶乘也可以迭代计算。这里我们展示了使用for和while循环的迭代方法。
使用For循环
输出:
时间复杂度: O(n)
辅助空间: O(1)
使用While循环
输出:
时间复杂度: O(n)
辅助空间: O(1)
单行解法(使用三元操作符):
输出:
时间复杂度 :O(n),用于递归。
空间复杂度 :O(n),用于递归调用堆栈。