编写递归函数实现n!。
时间: 2023-10-16 09:10:36 浏览: 76
以下是递归函数实现n!的Python代码:
```
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
```
该函数接受一个整数n作为参数,当n为1时返回1,否则返回n乘以factorial(n-1)的结果,其中factorial(n-1)表示递归调用函数本身并传入n-1作为参数。这样递归调用会一直进行下去,直到n=1时停止递归。
相关问题
用编写递归函数实现n!
下面是使用递归函数实现n!的Python代码:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
在这个递归函数中,如果输入的参数n为0,那么函数返回1。否则,函数返回n乘以函数自身调用时参数n-1的阶乘。这样,函数不断递归调用自身,直到n=0为止,然后逐层返回计算结果,最终得到n的阶乘。
用c++编写递归函数实现n!
下面是用C++实现的递归函数实现n!的代码:
```c++
#include <iostream>
using namespace std;
int factorial(int n) {
if(n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n = 5;
cout << n << "! = " << factorial(n) << endl;
return 0;
}
```
在这个例子中,我们定义了一个名为`factorial`的函数,它接受一个整数参数`n`并返回`n`的阶乘。如果`n`等于0,那么它的阶乘为1;否则,它的阶乘等于`n`乘以`factorial(n-1)`的结果。在`main`函数中,我们调用`factorial`函数并打印出结果。
当我们调用`factorial(5)`时,它会递归调用`factorial`函数,并计算`5 * factorial(4)`、`4 * factorial(3)`、`3 * factorial(2)`、`2 * factorial(1)`和`1 * factorial(0)`的值,最后返回120,即5的阶乘。