设计递归函数 求n!
时间: 2023-11-22 21:54:33 浏览: 34
可以使用递归函数来计算 n!,具体实现如下:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
```
这个函数的实现思路是:当 n 等于 0 或 1 时,返回 1;否则,返回 n 乘以 (n-1) 的阶乘,即 n! = n * (n-1)!
例如,当 n 等于 5 时,factorial(5) 返回 120。
相关问题
给出n!的递归定义式,并设计一个递归函数计算n!
n!的递归定义式为:
n! = n * (n-1)!
当n=0或n=1时,n!的结果为1。
以下是一个递归函数,用于计算n!:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
```
该函数首先检查n是否为0或1,如果是,则返回1。否则,它递归调用自身来计算(n-1)!,然后将n乘以结果。最终,函数返回n!的结果。
用C语言设计递归函数,求10!
以下是用C语言设计递归函数,求10!的代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n = 10;
int result = factorial(n);
printf("%d! = %d\n", n, result);
return 0;
}
```
输出结果为:
```
10! = 3628800
```