21xrx.com
2024-11-22 13:09:39 Friday
登录
文章检索 我的文章 写文章
C++递归函数的阶乘实现
2023-07-04 06:12:28 深夜i     --     --
C++ 递归函数 阶乘实现

C++递归函数是一种非常有用的编程技术,可以在程序中实现复杂的算法和逻辑结构。其中一个常见的用法是实现阶乘计算,也就是求一个正整数的阶乘。

阶乘的定义是从1到该正整数的所有整数乘积。例如,4的阶乘为:4 × 3 × 2 × 1 = 24。使用递归函数可以方便地计算出一个正整数的阶乘,代码如下:


int factorial(int n) {

  if (n == 0)

    return 1;

  

  return n * factorial(n-1);

}

代码中的递归函数 factorial() 首先判断参数 n 是否为0,如果是,直接返回1,因为0的阶乘为1。如果 n 不为0,那么递归调用自身,传入参数 n-1,并将结果乘以n。

在调用递归函数时,程序会不断地递归调用 factorial() 函数,直到参数 n 减少到0,然后逐层返回计算结果,最终得到该正整数的阶乘。

测试该函数的示例代码如下:


#include <iostream>

using namespace std;

int factorial(int n) {

  if (n == 0)

    return 1;

  

  return n * factorial(n-1);

}

int main() {

  int n;

  cout << "Enter a positive integer: ";

  cin >> n;

  cout << "Factorial of " << n << " = " << factorial(n);

  return 0;

}

用户输入一个正整数作为参数,然后调用递归函数计算该数的阶乘,最终输出计算结果。

总之,C++递归函数是一种非常有用的编程技术,可以用来实现各种算法和逻辑结构。使用递归函数计算阶乘是其中的一个典型例子,非常简单直观,也很容易理解和实现。

  
  

评论区

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