21xrx.com
2024-11-22 06:51:10 Friday
登录
文章检索 我的文章 写文章
使用C++计算阶乘和
2023-07-04 17:45:14 深夜i     --     --
C++ 计算 阶乘 循环 递归

阶乘是数学中的一个概念,通常用符号“!”表示。阶乘是指从1开始连乘到该数的结果。例如,5的阶乘就是1×2×3×4×5=120。计算阶乘可以使用循环或递归的方式。在C++语言中,阶乘的计算通常使用递归方式实现。

使用递归方式计算阶乘的函数如下:


int factorial(int n){

  if(n==0)  // 当n等于0时,返回1

   return 1;

  else

   return n*factorial(n-1);  // 递归调用自己

}

这个函数的基本思路是,当n等于0时,返回1;当n大于0时,返回n*factorial(n-1)。通过递归调用自身,直到n等于0,停止递归。

下面是一个示例程序,用于调用上述函数计算5的阶乘:


#include <iostream>

using namespace std;

int factorial(int n);  // 函数声明

int main() {

  int n = 5;

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

  return 0;

}

int factorial(int n){

  if(n==0)

   return 1;

  else

   return n*factorial(n-1);

}

该程序的输出结果为:


Factorial of 5 = 120

这说明该函数成功地计算出了5的阶乘。

除了递归方式外,阶乘的计算也可以使用循环方式实现。下面是一个示例程序:


#include <iostream>

using namespace std;

int main() {

  int n = 5;

  int fact = 1;

  for(int i=1; i<=n; i++){

   fact = fact * i;

  }

  cout << "Factorial of " << n << " = " << fact;

  return 0;

}

该程序的输出结果与递归方式的结果相同:


Factorial of 5 = 120

使用循环方式计算阶乘的主要思路是,从1开始循环到n,每次将当前的积与当前的数相乘,直到循环结束。在循环结束后,积即为所求的阶乘。

综上所述,使用C++计算阶乘的方法有两种:递归方式和循环方式。递归方式主要采用函数自身调用的方式,而循环方式则通过循环迭代计算阶乘。两种方法各有优缺点,可根据具体情况选择使用。

  
  
下一篇: 自定义函数

评论区

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