21xrx.com
2025-03-21 18:59:46 Friday
文章检索 我的文章 写文章
C++代码实现求n的阶乘
2023-06-29 22:02:23 深夜i     25     0
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的阶乘计算,但由于递归需要多次函数调用,会占用更多的内存空间和处理时间。因此,在计算机科学中,循环是一种更为高效的实现方式。

  
  

评论区