自然数是从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);