21xrx.com
2024-09-19 09:36:19 Thursday
登录
文章检索 我的文章 写文章
C++递归求解阶乘代码
2023-07-04 01:53:53 深夜i     --     --
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的阶乘,最后输出结果。

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

  
  

评论区

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