21xrx.com
2024-11-22 07:41:09 Friday
登录
文章检索 我的文章 写文章
C++求1+2+3+...+n的和
2023-07-10 20:01:08 深夜i     --     --
C++ 求和 n

在程序设计中,编写一个求1+2+3+...+n的和的程序是非常基础的任务之一。在C++ 中,求和的方法主要有两种,一种是使用for循环进行累加,另一种是使用递归函数进行求和。

使用for循环进行求和的代码较为简单,首先需要定义一个变量用于保存最终的结果,然后遍历从1到n的整数,将每个数字加入结果中即可。代码如下:


#include <iostream>

using namespace std;

int main(){

  int n, sum = 0;

  cout << "请输入正整数n:" << endl;

  cin >> n;

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

    sum += i;

  }

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

  return 0;

}

使用递归函数进行求和需要明确两个重要的要素,即递归的终止条件和递归的返回值。在这个例子中,递归终止条件是当n变成1时,直接返回1,否则继续使用递归调用n-1的函数结果来推导出n的结果。代码如下:


#include <iostream>

using namespace std;

int sum(int n){

  if(n == 1)

    return 1;

  

  else{

    return n + sum(n-1);

  }

}

int main(){

  int n, result;

  cout << "请输入正整数n:" << endl;

  cin >> n;

  result = sum(n);

  cout << "1+2+3+...+n=" << result << endl;

  return 0;

}

以上两种方法都可以用于求解1+2+3+...+n的和,选择哪一种取决于个人的编程习惯和功能需求。当然,对于更大的数字,使用递归函数进行求和可能会出现栈溢出的问题,因此需要谨慎选择算法。

  
  

评论区

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