21xrx.com
2024-11-22 11:21:44 Friday
登录
文章检索 我的文章 写文章
C++ 求阶乘之和
2023-06-26 15:54:44 深夜i     --     --
C++ 阶乘 求和

在C++编程中,求阶乘之和是一个经常出现的问题。阶乘的定义是一个正整数n的阶乘是所有小于等于n的正整数的乘积,即n!=1×2×3×...×n。因此,阶乘之和就是1!+2!+3!+...+n!的计算结果。

在C++中,实现求阶乘之和可以采用循环和递归的方法。对于循环方法,需要使用for循环,从1到n循环计算每个数的阶乘,并将结果相加。具体代码实现如下:


#include <iostream>

using namespace std;

int main()

{

  int n;

  cout << "请输入n的值:" << endl;

  cin >> n;

  int sum = 0;

  int factorial = 1;

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

  {

    factorial *= i;

    sum += factorial;

  }

  cout << "1!+2!+3!+...+n!的值为: " << sum << endl;

  return 0;

}

对于递归方法,可以定义一个函数来计算阶乘,然后在主函数中循环调用这个函数,并将结果相加。具体代码实现如下:


#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 << "请输入n的值:" << endl;

  cin >> n;

  int sum = 0;

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

  {

    sum += factorial(i);

  }

  cout << "1!+2!+3!+...+n!的值为: " << sum << endl;

  return 0;

}

无论采用循环还是递归,求阶乘之和都是一道经典的C++编程问题。学习这个问题可以加深对循环和递归的理解,并提高编程能力和实际应用能力。

  
  

评论区

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