21xrx.com
2024-12-23 04:52:54 Monday
登录
文章检索 我的文章 写文章
C语言递归函数求阶乘
2023-06-15 08:55:29 深夜i     --     --

在C语言中,经常会使用到递归函数来解决一些问题。其中一个经典的例子就是使用递归函数来求一个数的阶乘。阶乘指的是一个数乘以其前面所有自然数的积,例如:5的阶乘为5x4x3x2x1=120。下面就来了解一下如何通过递归函数来实现阶乘的计算。

首先,当输入的数为0或1时,其阶乘都为1。这就是递归终止条件。而当输入的数大于1时,我们可以通过递归函数来将问题拆分成小问题,进而递归求解。具体实现就是将输入的数n乘以n-1的阶乘,即n*(n-1)!。而n-1的阶乘可以通过递归调用函数来计算。

经过以上分析,我们可以得到递归函数求阶乘的代码如下:


#include

int factorial(int n)

{

  if (n==0 || n==1)  // 递归终止条件

    return 1;

  else

    return n * factorial(n-1); // 递归调用函数

}

int main()

{

  int n, result;

  printf("input an integer:");

  scanf("%d", &n);

  result = factorial(n);

  printf("%d! = %d\n", n, result);

  return 0;

}

通过上述代码,我们可以输入一个整数n来求其阶乘,并输出结果。

从以上内容可以得出一些关键词,例如:C语言、递归函数、阶乘、代码实现、递归终止条件、递归调用函数等等。这些关键词可以帮助我们更好地理解和掌握递归函数求阶乘的过程。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复