php使用递归函数实现 n! 的阶乘,体会递归函数的使用。
时间: 2024-02-21 12:58:39 浏览: 93
在PHP中,我们可以使用递归函数来计算n的阶乘$n!$。阶乘的定义是:$n!=n\times(n-1)\times(n-2)\times\cdots\times3\times2\times1$。
示例代码如下:
```php
function factorial($n) {
if ($n == 0 || $n == 1) {
return 1;
} else {
return $n * factorial($n - 1);
}
}
// 计算5的阶乘
echo factorial(5);
```
在上面的代码中,我们定义了一个名为factorial的递归函数,用于计算$n!$。如果$n=0$或$n=1$,则直接返回1;否则,递归调用factorial函数,将$n-1$作为参数传递给它,并将返回结果乘以$n$。
最后,我们调用factorial函数,传入5作为参数,计算5的阶乘,并将结果输出到屏幕上。
相关问题
用编写递归函数实现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 <stdio.h>
int factorial(int n) {
int fac;
if (n < 0)
printf("n<0, data error!");
else if (n == 0 || n == 1)
fac = 1;
else
fac = factorial(n - 1) * n;
return fac;
}
int main() {
int n, result;
printf("请输入一个整数:\n");
scanf("%d", &n);
result = factorial(n);
printf("%d! = %d", n, result);
return 0;
}
```
这段代码中,我们定义了一个递归函数`factorial`来计算阶乘。如果输入的n小于0,则输出错误信息;如果n等于0或1,则阶乘为1;否则,递归调用`factorial`函数来计算n-1的阶乘,并将结果乘以n,得到n的阶乘。
阅读全文