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);