21xrx.com
2024-12-27 04:54:20 Friday
登录
文章检索 我的文章 写文章
C++编程实现求1!+2!+3!+...+15!
2023-07-03 01:01:44 深夜i     --     --
C++ 循环 阶乘 累加 变量

本文介绍了一个C++编程的小例子——求1!+2!+3!+...+15!。这个例子可以在帮助初学者熟悉C++的基本语法和逻辑的同时,让大家了解到计算机是如何进行阶乘运算的。

首先,让我们了解一下什么是阶乘。阶乘是一个正整数n的积,记作n!,即n!=1×2×3×...×n。例如,5!=1×2×3×4×5=120。我们需要计算的就是1!+2!+3!+...+15!,即1的阶乘加2的阶乘加3的阶乘一直到15的阶乘的和。

那么如何实现这个计算过程呢?我们可以使用循环和递归两种方法。

对于循环方法,我们可以使用for循环,从1一直循环到15,每次将i的阶乘加到一个累加器中,最后输出累加器的值即可。代码如下:


#include <iostream>

using namespace std;

int main() {

  unsigned long long sum = 0;  //累加器

  unsigned long long fac = 1;  //阶乘

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

    fac *= i;  //求i的阶乘

    sum += fac; //将i的阶乘加到累加器中

  }

  cout << "1!+2!+3!+...+15!=" << sum << endl;

  return 0;

}

对于递归方法,我们可以编写一个递归函数来求阶乘,然后分别调用1到15的阶乘函数,并将它们累加到一个累加器中。代码如下:


#include <iostream>

using namespace std;

unsigned long long factorial(int n) {

  if(n == 1) //递归结束条件

    return 1;

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

}

int main() {

  unsigned long long sum = 0;  //累加器

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

    sum += factorial(i);  //将i的阶乘加到累加器中

  }

  cout << "1!+2!+3!+...+15!=" << sum << endl;

  return 0;

}

以上两种方法都可以得到正确的结果,希望这个小例子能够帮助初学者更好地理解C++的基本语法和逻辑。

  
  

评论区

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