使用递归求自然数和的 C++ 程序


自然数是从 1 开始的正整数。

自然数序列为 −

1, 2, 3, 4, 5, 6, 7, 8, 9, 10……

使用递归求前 n 个自然数之和的程序如下。

示例

 使用演示

#include <iostream>
using namespace std;
int sum(int n) {
   if(n == 0)
   return n;
   else
   return n + sum(n-1);
}
int main() {
   int n = 10;
   cout<<"Sum of first "<<n<<" natural numbers is "<<sum(n);
   return 0;
}

输出

Sum of first 10 natural numbers is 55

在以上程序中,函数 sum() 是一个递归函数。如果 n 为 0,那么它返回 0,因为前 0 个自然数的和为 0。如果 n 大于 0,那么 sum 递归地调用它自己并使用值 n-1,最终返回 n、n-1、n-2...2、1 的总和。演示此过程的代码片段如下。

int sum(int n) {
   if(n == 0)
   return n;
   else
   return n + sum(n-1);
}

在函数 main() 中,使用 cout 显示前 n 个自然数的和。这可以如下所示 −

cout<<"Sum of first "<<n<<" natural numbers is "<<sum(n);

更新日期:2020 年 6 月 24 日

2 千次以上的浏览量

开启你的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.