21xrx.com
2025-07-16 00:40:24 Wednesday
文章检索 我的文章 写文章
C++递归求解阶乘代码
2023-07-04 01:53:53 深夜i     24     0
C++ 递归 阶乘 代码

C++递归求解阶乘代码:

#include<iostream>
using namespace std;
int factorial(int n) {
  if(n == 0)
    return 1;
   else {
    return n * factorial(n - 1);
  }
}
int main() {
  int n;
  cout << "请输入n的值:";
  cin >> n;
  cout << "n的阶乘是:" << factorial(n) << endl;
  return 0;
}

阶乘是一个非常常见的问题,它是指对于一个正整数n,将1到n之间的所有整数相乘得到的积。我们可以使用递归来求解阶乘。

在递归函数中,我们首先判断输入的n是否为0。如果是0,则返回1,因为0的阶乘为1。否则,我们将n乘以n-1的阶乘,以此类推。这样,我们可以不断地递归地求出阶乘,直到n=0为止。

在主函数中,我们首先要输入要求解的n的值,然后调用递归函数来求解n的阶乘,最后输出结果。

使用递归求解阶乘的代码量相对较少,且更为简洁,但是在使用递归函数时也需要注意不要陷入死循环的情况。另外,递归函数运行时需要不断调用函数栈,因此在计算阶乘较大时,递归函数可能会造成内存溢出的问题。

  
  

评论区