21xrx.com
2024-11-08 22:11:33 Friday
登录
文章检索 我的文章 写文章
C++代码实现求n的阶乘
2023-06-29 22:02:23 深夜i     --     --
C++ 代码实现 阶乘 n

阶乘是数学中一个特殊的数列,表达式为n!,表示从1到n的所有自然数的乘积。在计算机科学中,阶乘是一个基本的计算问题,也是算法练习的常见题目之一。在C++语言中,可以使用循环和递归两种方式实现n的阶乘计算。

循环实现求n的阶乘

使用循环方式,需要一个循环变量i和计数器sum,初始化i为1,sum为1,然后进行循环。在每一个循环中,将sum乘以i,即sum *= i,最后i递增1,一直循环到i大于等于n。代码如下:


#include <iostream>

using namespace std;

int main() {

  int n, sum = 1;

  cin >> n;

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

    sum *= i;

  }

  cout << sum << endl;

  return 0;

}

递归实现求n的阶乘

使用递归方式,直接在函数内部调用自身来实现。需要注意的是,在递归过程中,需要定义一个临时变量用来保存中间结果。代码如下:


#include <iostream>

using namespace std;

int factorial(int n) {

  if (n == 0) return 1;

  else return n * factorial(n - 1);

}

int main() {

  int n;

  cin >> n;

  cout << factorial(n) << endl;

  return 0;

}

总结

使用循环和递归均可实现n的阶乘计算,但由于递归需要多次函数调用,会占用更多的内存空间和处理时间。因此,在计算机科学中,循环是一种更为高效的实现方式。

  
  

评论区

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