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