使用递归求N的阶乘(如n=10)5!=5*4*3*2*1
时间: 2023-10-21 22:14:10 浏览: 48
好的,以下是使用递归求解N的阶乘的Python代码:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
# 测试
print(factorial(5)) # 输出 120
```
在这个函数中,如果传入的参数 `n` 等于1,那么阶乘就是1;否则,阶乘等于 `n` 乘以 `n-1` 的阶乘。递归的过程就是不断的调用自身,直到 `n` 等于1时停止递归。
相关问题
c#输出n!的值 例如n!=5*4*3*2*1
在C#中,可以使用循环或递归的方式来计算n的阶乘。下面是使用循环的示例代码:
```csharp
using System;
class Program
{
static void Main(string[] args)
{
int n = 5;
int factorial = 1;
for (int i = 1; i <= n; i++)
{
factorial *= i;
}
Console.WriteLine($"{n}! = {factorial}");
}
}
```
这段代码中,我们定义了一个变量`factorial`并初始化为1。然后使用`for`循环从1到n,每次将当前的数乘以`factorial`,最后输出结果。
递归函数计算1!*2!*3!*4!*5!C
计算1!*2!*3!*4!*5!可以使用递归函数来实现。具体方法如下:
1. 定义一个递归函数,输入参数为n,返回值为n的阶乘。
2. 在递归函数中,如果n等于1,则返回1;否则,返回n乘以递归调用函数自身并传入n-1的值。
3. 在主函数中,分别调用递归函数计算1!、2!、3!、4!和5!,并将它们相乘得到最终结果。
下面是C语言代码实现:
```
#include <stdio.h>
int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int result = factorial(1) * factorial(2) * factorial(3) * factorial(4) * factorial(5);
printf("1! * 2! * 3! * 4! * 5! = %d", result);
return 0;
}
```