c语言实现n阶阶乘的递归算法
时间: 2023-09-03 21:02:53 浏览: 184
勒让德多项式
C语言实现n阶阶乘的递归算法如下:
```c
#include <stdio.h>
int factorial(int n)
{
if (n == 0) // 当n为0时,直接返回1,递归的终止条件
return 1;
else
return n * factorial(n - 1); // 递归调用,将问题不断简化为求(n-1)阶乘
}
int main()
{
int n;
printf("请输入一个非负整数:");
scanf("%d", &n);
printf("%d的阶乘为:%d\n", n, factorial(n));
return 0;
}
```
运行此程序,用户输入一个非负整数n,程序通过递归算法计算n的阶乘值,并输出结果。这个递归函数`factorial()`是通过将问题不断简化为求(n-1)阶乘来实现的,直到问题简化到n为0时,返回1作为终止条件。
阅读全文