21xrx.com
2024-06-03 05:59:44 Monday
登录
文章检索 我的文章 写文章
C++编程:计算n的阶乘
2023-07-09 11:50:33 深夜i     --     --
C++ 编程 阶乘 计算 循环

C++是一种强大的编程语言,广泛应用于各种领域。在计算机科学中,阶乘是一个常见的数学概念。阶乘是指从1到n的所有正整数的乘积,通常用符号“!”表示。比如,5!=5×4×3×2×1=120。

在C++中,计算n的阶乘可以使用循环或递归的方法实现。下面分别介绍这两种方法的写法。

1. 循环:使用for循环从1到n迭代计算乘积,代码如下:


#include <iostream>

using namespace std;

int main() {

  int n, res = 1;

  cout << "Enter a positive integer: ";

  cin >> n;

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

    res *= i;

  }

  cout << n << "! = " << res << endl;

  return 0;

}

在这个程序中,我们首先提示用户输入一个正整数n,然后使用for循环计算1到n的乘积,将结果存储在变量res中,并输出结果。

2. 递归:通过递归调用函数自身来计算n的阶乘,代码如下:


#include <iostream>

using namespace std;

int factorial(int n) {

  if (n == 1)

    return 1;

   else {

    return n * factorial(n - 1);

  }

}

int main() {

  int n;

  cout << "Enter a positive integer: ";

  cin >> n;

  cout << n << "! = " << factorial(n) << endl;

  return 0;

}

在这个程序中,我们先定义了一个名为factorial的函数,用于计算n的阶乘。如果n等于1,则返回1;否则,递归调用函数自身并返回n乘以factorial(n-1)的结果。在主函数中,我们提示用户输入一个正整数n,并输出n的阶乘。

两种方法的实现都很简单,各有优点。使用循环的方法能够简单直观地实现阶乘的计算,适用于较小的n;而递归的方法更加灵活,能够处理更加复杂的问题,但有时可能会产生堆栈溢出等问题,需要谨慎使用。无论采用哪种方法,C++编程都能够轻松实现阶乘的计算。

  
  

评论区

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